blob: 13ed46577426b87eeee570c9d263c1134afa5077 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
389 </ul>
390 </li>
391 </ul> <!-- toc_section -->
392 </li>
393 <li>
394 <span class="toc_section_header"><a href="#section_request">request</a></span>
395 <ul class="toc_section">
396 <li>
397 <span class="toc_kind_header">controls</span>
398 <ul class="toc_section">
399 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
400 <li><a href="#controls_android.request.id">android.request.id</a></li>
401 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
402 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
403 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
404 <li><a href="#controls_android.request.type">android.request.type</a></li>
405 </ul>
406 </li>
407 <li>
408 <span class="toc_kind_header">static</span>
409 <ul class="toc_section">
410 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
411 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">dynamic</span>
416 <ul class="toc_section">
417 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
418 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
419 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
420 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
421 </ul>
422 </li>
423 </ul> <!-- toc_section -->
424 </li>
425 <li>
426 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
427 <ul class="toc_section">
428 <li>
429 <span class="toc_kind_header">controls</span>
430 <ul class="toc_section">
431 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
432 </ul>
433 </li>
434 <li>
435 <span class="toc_kind_header">static</span>
436 <ul class="toc_section">
437 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
438 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
439 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
440 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
441 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
442 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
443 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
444 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
445 </ul>
446 </li>
447 <li>
448 <span class="toc_kind_header">dynamic</span>
449 <ul class="toc_section">
450 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
451 </ul>
452 </li>
453 </ul> <!-- toc_section -->
454 </li>
455 <li>
456 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
457 <ul class="toc_section">
458 <li>
459 <span class="toc_kind_header">controls</span>
460 <ul class="toc_section">
461 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
462 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
463 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
464 </ul>
465 </li>
466 <li>
467 <span class="toc_kind_header">static</span>
468 <ul class="toc_section">
469
470 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700471 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700472 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
473 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
474 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
475 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
476 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
477 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
478
479 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
480 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
481 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
482 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
483 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
484 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
485 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
486 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
487 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
488 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
489 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
490 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
491 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
492 </ul>
493 </li>
494 <li>
495 <span class="toc_kind_header">dynamic</span>
496 <ul class="toc_section">
497 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
498 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
499 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
500 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700501 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700502 </ul>
503 </li>
504 </ul> <!-- toc_section -->
505 </li>
506 <li>
507 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
508 <ul class="toc_section">
509 <li>
510 <span class="toc_kind_header">controls</span>
511 <ul class="toc_section">
512 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
513 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
514 </ul>
515 </li>
516 <li>
517 <span class="toc_kind_header">dynamic</span>
518 <ul class="toc_section">
519 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
520 </ul>
521 </li>
522 </ul> <!-- toc_section -->
523 </li>
524 <li>
525 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
526 <ul class="toc_section">
527 <li>
528 <span class="toc_kind_header">controls</span>
529 <ul class="toc_section">
530 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
531 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
532 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700533 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">static</span>
538 <ul class="toc_section">
539
540 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
541 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
542 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
543 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
544 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
545 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
546
547 </ul>
548 </li>
549 <li>
550 <span class="toc_kind_header">dynamic</span>
551 <ul class="toc_section">
552 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
553 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
554 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
555 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
556 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
557 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
558 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
559 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
560 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700561 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
562 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
563 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
564 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700565 </ul>
566 </li>
567 </ul> <!-- toc_section -->
568 </li>
569 <li>
570 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
571 <ul class="toc_section">
572 <li>
573 <span class="toc_kind_header">controls</span>
574 <ul class="toc_section">
575 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
576 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
577 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
578 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
579 </ul>
580 </li>
581 <li>
582 <span class="toc_kind_header">static</span>
583 <ul class="toc_section">
584 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
585 </ul>
586 </li>
587 <li>
588 <span class="toc_kind_header">dynamic</span>
589 <ul class="toc_section">
590 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
591 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
592 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
593 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
594 </ul>
595 </li>
596 </ul> <!-- toc_section -->
597 </li>
598 <li>
599 <span class="toc_section_header"><a href="#section_led">led</a></span>
600 <ul class="toc_section">
601 <li>
602 <span class="toc_kind_header">controls</span>
603 <ul class="toc_section">
604 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
611 </ul>
612 </li>
613 <li>
614 <span class="toc_kind_header">static</span>
615 <ul class="toc_section">
616 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
617 </ul>
618 </li>
619 </ul> <!-- toc_section -->
620 </li>
621 <li>
622 <span class="toc_section_header"><a href="#section_info">info</a></span>
623 <ul class="toc_section">
624 <li>
625 <span class="toc_kind_header">static</span>
626 <ul class="toc_section">
627 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
628 </ul>
629 </li>
630 </ul> <!-- toc_section -->
631 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700632 <li>
633 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
634 <ul class="toc_section">
635 <li>
636 <span class="toc_kind_header">controls</span>
637 <ul class="toc_section">
638 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
639 </ul>
640 </li>
641 <li>
642 <span class="toc_kind_header">dynamic</span>
643 <ul class="toc_section">
644 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
645 </ul>
646 </li>
647 </ul> <!-- toc_section -->
648 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800649 </ul>
650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700651
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800652 <h1>Properties</h1>
653 <table class="properties">
654
655 <thead class="thead_dummy">
656 <tr>
657 <th class="th_name">Property Name</th>
658 <th class="th_type">Type</th>
659 <th class="th_description">Description</th>
660 <th class="th_units">Units</th>
661 <th class="th_range">Range</th>
662 <th class="th_notes">Notes</th>
663 <th class="th_tags">Tags</th>
664 </tr>
665 </thead> <!-- so that the first occurrence of thead is not
666 above the first occurrence of tr -->
667<!-- <namespace name="android"> -->
668 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
669
670
671 <tr><td colspan="7" class="kind">controls</td></tr>
672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 <tr>
675 <th class="th_name">Property Name</th>
676 <th class="th_type">Type</th>
677 <th class="th_description">Description</th>
678 <th class="th_units">Units</th>
679 <th class="th_range">Range</th>
680 <th class="th_notes">Notes</th>
681 <th class="th_tags">Tags</th>
682 </tr>
683 </thead>
684
685 <tbody>
686
687
688
689
690
691
692
693
694
695
696 <tr class="entry" id="controls_android.colorCorrection.mode">
697 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800702
703 <ul class="entry_type_enum">
704 <li>
705 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
706 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700707 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800708 </li>
709 <li>
710 <span class="entry_type_enum_name">FAST</span>
711 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
712 bayer output</span>
713 </li>
714 <li>
715 <span class="entry_type_enum_name">HIGH_QUALITY</span>
716 <span class="entry_type_enum_notes">Frame rate may be reduced by high
717 quality</span>
718 </li>
719 </ul>
720
721 </td> <!-- entry_type -->
722
723 <td class="entry_description">
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700733 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700734 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 </td>
736
737 <td class="entry_tags">
738 </td>
739
740 </tr> <!-- end of entry -->
741
742
743 <tr class="entry" id="controls_android.colorCorrection.transform">
744 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
745 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 <span class="entry_type_container">x</span>
748
749 <span class="entry_type_array">
750 3 x 3
751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700752 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700759 A color transform matrix to use to transform
760 from sensor RGB color space to output linear sRGB color space
761
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800762 </td>
763
764 <td class="entry_units">
765 </td>
766
767 <td class="entry_range">
768 Output values are expected to be in the range
769 (0,<wbr>1)
770 </td>
771
772 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700773 This matrix is either set by HAL when the request
774 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
775 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700776 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
777<br>
778<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700779 for precision issues; the final rounded matrix should be
780 reported back in this matrix result metadata.<wbr>
781 </td>
782
783 <td class="entry_tags">
784 </td>
785
786 </tr> <!-- end of entry -->
787
788
789 <tr class="entry" id="controls_android.colorCorrection.gains">
790 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
791 <td class="entry_type">
792 <span class="entry_type_name">float</span>
793 <span class="entry_type_container">x</span>
794
795 <span class="entry_type_array">
796 4
797 </span>
798 <span class="entry_type_visibility"> [public]</span>
799 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
800
801
802 </td> <!-- entry_type -->
803
804 <td class="entry_description">
805 Gains applying to Bayer color channels for
806 white-balance
807 </td>
808
809 <td class="entry_units">
810 </td>
811
812 <td class="entry_range">
813 </td>
814
815 <td class="entry_notes">
816 The 4-channel white-balance gains are defined in
817 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
818 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
819 is the gain for greenpixels on the odd rows.<wbr> if a HAL
820 does not support a separate gain for even/<wbr>odd green channels,<wbr>
821 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
822 G_<wbr>even in the output result metadata.<wbr>
823<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700824<br> This array is either set by HAL when the request
825 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
826 directly by the application in the request when the
827 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
828<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829<br> The ouput should be the gains actually applied by the HAL to
830 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831 </td>
832
833 <td class="entry_tags">
834 </td>
835
836 </tr> <!-- end of entry -->
837
838
839
840 <!-- end of kind -->
841 </tbody>
842 <tr><td colspan="7" class="kind">dynamic</td></tr>
843
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700844 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800845 <tr>
846 <th class="th_name">Property Name</th>
847 <th class="th_type">Type</th>
848 <th class="th_description">Description</th>
849 <th class="th_units">Units</th>
850 <th class="th_range">Range</th>
851 <th class="th_notes">Notes</th>
852 <th class="th_tags">Tags</th>
853 </tr>
854 </thead>
855
856 <tbody>
857
858
859
860
861
862
863
864
865
866
Zhijun He69fc0ea2013-07-17 09:42:58 -0700867 <tr class="entry" id="dynamic_android.colorCorrection.transform">
868 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <span class="entry_type_name">rational</span>
871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_array">
874 3 x 3
875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700876 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
880 </td> <!-- entry_type -->
881
882 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700883 A color transform matrix to use to transform
884 from sensor RGB color space to output linear sRGB color space
885
886 </td>
887
888 <td class="entry_units">
889 </td>
890
891 <td class="entry_range">
892 Output values are expected to be in the range
893 (0,<wbr>1)
894 </td>
895
896 <td class="entry_notes">
897 This matrix is either set by HAL when the request
898 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
899 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700900 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
901<br>
902<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700903 for precision issues; the final rounded matrix should be
904 reported back in this matrix result metadata.<wbr>
905 </td>
906
907 <td class="entry_tags">
908 </td>
909
910 </tr> <!-- end of entry -->
911
912
913 <tr class="entry" id="dynamic_android.colorCorrection.gains">
914 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
915 <td class="entry_type">
916 <span class="entry_type_name">float</span>
917 <span class="entry_type_container">x</span>
918
919 <span class="entry_type_array">
920 4
921 </span>
922 <span class="entry_type_visibility"> [public]</span>
923 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
924
925
926 </td> <!-- entry_type -->
927
928 <td class="entry_description">
929 Gains applying to Bayer color channels for
930 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800931 </td>
932
933 <td class="entry_units">
934 </td>
935
936 <td class="entry_range">
937 </td>
938
939 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700940 The 4-channel white-balance gains are defined in
941 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
942 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
943 is the gain for greenpixels on the odd rows.<wbr> if a HAL
944 does not support a separate gain for even/<wbr>odd green channels,<wbr>
945 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
946 G_<wbr>even in the output result metadata.<wbr>
947<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700948<br> This array is either set by HAL when the request
949 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950 directly by the application in the request when the
951 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
952<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700953<br> The ouput should be the gains actually applied by the HAL to
954 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800955 </td>
956
957 <td class="entry_tags">
958 </td>
959
960 </tr> <!-- end of entry -->
961
962
963
964 <!-- end of kind -->
965 </tbody>
966
967 <!-- end of section -->
968 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
969
970
971 <tr><td colspan="7" class="kind">controls</td></tr>
972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700973 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800974 <tr>
975 <th class="th_name">Property Name</th>
976 <th class="th_type">Type</th>
977 <th class="th_description">Description</th>
978 <th class="th_units">Units</th>
979 <th class="th_range">Range</th>
980 <th class="th_notes">Notes</th>
981 <th class="th_tags">Tags</th>
982 </tr>
983 </thead>
984
985 <tbody>
986
987
988
989
990
991
992
993
994
995
996 <tr class="entry" id="controls_android.control.aeAntibandingMode">
997 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001002
1003 <ul class="entry_type_enum">
1004 <li>
1005 <span class="entry_type_enum_name">OFF</span>
1006 </li>
1007 <li>
1008 <span class="entry_type_enum_name">50HZ</span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">60HZ</span>
1012 </li>
1013 <li>
1014 <span class="entry_type_enum_name">AUTO</span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Enum for controlling
1022 antibanding
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029
1030 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1031 </td>
1032
1033 <td class="entry_notes">
1034 </td>
1035
1036 <td class="entry_tags">
1037 </td>
1038
1039 </tr> <!-- end of entry -->
1040
1041
1042 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1043 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1044 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001045 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001046
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001047 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048
1049
1050 </td> <!-- entry_type -->
1051
1052 <td class="entry_description">
1053 Adjustment to AE target image
1054 brightness
1055 </td>
1056
1057 <td class="entry_units">
1058 count of positive/<wbr>negative EV steps
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1066 exposure compensation of +2 EV; -3 will mean an exposure
1067 compensation of -1
1068 </td>
1069
1070 <td class="entry_tags">
1071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </ul>
1074 </td>
1075
1076 </tr> <!-- end of entry -->
1077
1078
1079 <tr class="entry" id="controls_android.control.aeLock">
1080 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001084 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001085
1086 <ul class="entry_type_enum">
1087 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001088 <span class="entry_type_enum_name">OFF</span>
1089 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1090 is free to update its parameters.<wbr></span>
1091 </li>
1092 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001093 <span class="entry_type_enum_name">ON</span>
1094 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1095 must not update the exposure and sensitivity parameters
1096 while the lock is active</span>
1097 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001098 </ul>
1099
1100 </td> <!-- entry_type -->
1101
1102 <td class="entry_description">
1103 Whether AE is currently locked to its latest
1104 calculated values
1105 </td>
1106
1107 <td class="entry_units">
1108 </td>
1109
1110 <td class="entry_range">
1111 </td>
1112
1113 <td class="entry_notes">
1114 Note that even when AE is locked,<wbr> the flash may be
1115 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1116 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
1128 <tr class="entry" id="controls_android.control.aeMode">
1129 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001131 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001138 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1139 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </li>
1141 <li>
1142 <span class="entry_type_enum_name">ON</span>
1143 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1144 control</span>
1145 </li>
1146 <li>
1147 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1148 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1149 flash control; flash may be fired when precapture
1150 trigger is activated,<wbr> and for captures for which
1151 captureIntent = STILL_<wbr>CAPTURE</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control for precapture trigger and always flash
1157 when captureIntent = STILL_<wbr>CAPTURE</span>
1158 </li>
1159 <li>
1160 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1161 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1162 If deemed necessary,<wbr> red eye reduction sequence should
1163 fire when precapture trigger is activated,<wbr> and final
1164 flash should fire when captureIntent =
1165 STILL_<wbr>CAPTURE</span>
1166 </li>
1167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AE is currently updating the sensor
1173 exposure and sensitivity fields
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1181 </td>
1182
1183 <td class="entry_notes">
1184 Only effective if android.<wbr>control.<wbr>mode =
1185 AUTO
1186 </td>
1187
1188 <td class="entry_tags">
1189 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001190 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001191 </ul>
1192 </td>
1193
1194 </tr> <!-- end of entry -->
1195
1196
1197 <tr class="entry" id="controls_android.control.aeRegions">
1198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201 <span class="entry_type_container">x</span>
1202
1203 <span class="entry_type_array">
1204 5 x area_count
1205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001207
1208
1209 </td> <!-- entry_type -->
1210
1211 <td class="entry_description">
1212 List of areas to use for
1213 metering
1214 </td>
1215
1216 <td class="entry_units">
1217 </td>
1218
1219 <td class="entry_range">
1220 </td>
1221
1222 <td class="entry_notes">
1223 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1225 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001226<br>
1227<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001228 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1229 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1230 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1231 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001232 should be nonnegative.<wbr>
1233<br>
1234<br> If all regions have 0 weight,<wbr> then no specific metering area
1235 needs to be used by the HAL.<wbr> If the metering region is
1236 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1237 should ignore the sections outside the region and output the
1238 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001239 </td>
1240
1241 <td class="entry_tags">
1242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001244 </ul>
1245 </td>
1246
1247 </tr> <!-- end of entry -->
1248
1249
1250 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1251 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1252 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001253 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001254 <span class="entry_type_container">x</span>
1255
1256 <span class="entry_type_array">
1257 2
1258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001260
1261
1262 </td> <!-- entry_type -->
1263
1264 <td class="entry_description">
1265 Range over which fps can be adjusted to
1266 maintain exposure
1267 </td>
1268
1269 <td class="entry_units">
1270 </td>
1271
1272 <td class="entry_range">
1273 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1274 </td>
1275
1276 <td class="entry_notes">
1277 Only constrains AE algorithm,<wbr> not manual control
1278 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1279 </td>
1280
1281 <td class="entry_tags">
1282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001283 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285 </td>
1286
1287 </tr> <!-- end of entry -->
1288
1289
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001290 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1291 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1292 <td class="entry_type">
1293 <span class="entry_type_name entry_type_name_enum">byte</span>
1294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001295 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001296
1297 <ul class="entry_type_enum">
1298 <li>
1299 <span class="entry_type_enum_name">IDLE</span>
1300 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1301 </li>
1302 <li>
1303 <span class="entry_type_enum_name">START</span>
1304 <span class="entry_type_enum_notes">The precapture metering sequence
1305 must be started.<wbr> The exact effect of the precapture
1306 trigger depends on the current AE mode and
1307 state.<wbr></span>
1308 </li>
1309 </ul>
1310
1311 </td> <!-- entry_type -->
1312
1313 <td class="entry_description">
1314 Whether the HAL must trigger precapture
1315 metering.<wbr>
1316 </td>
1317
1318 <td class="entry_units">
1319 </td>
1320
1321 <td class="entry_range">
1322 </td>
1323
1324 <td class="entry_notes">
1325 This entry is normally set to IDLE,<wbr> or is not
1326 included at all in the request settings.<wbr> When included and
1327 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001328 precapture metering sequence.<wbr>
1329<br>
1330<br> The effect of AE precapture trigger depends on the current
1331 AE mode and state; see the camera HAL device v3 header for
1332 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001333 </td>
1334
1335 <td class="entry_tags">
1336 <ul class="entry_tags">
1337 <li><a href="#tag_BC">BC</a></li>
1338 </ul>
1339 </td>
1340
1341 </tr> <!-- end of entry -->
1342
1343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 <tr class="entry" id="controls_android.control.afMode">
1345 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350
1351 <ul class="entry_type_enum">
1352 <li>
1353 <span class="entry_type_enum_name">OFF</span>
1354 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001355 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001356 application</span>
1357 </li>
1358 <li>
1359 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001360 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1361
1362 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1363 is fixed focus In this mode,<wbr> the lens does not move unless
1364 the autofocus trigger action is called.<wbr> When that trigger
1365 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1366 the outcome of the scan (FOCUSED or
1367 NOT_<wbr>FOCUSED).<wbr>
1368
1369 Triggering cancel AF resets the lens position to default,<wbr>
1370 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001371 </li>
1372 <li>
1373 <span class="entry_type_enum_name">MACRO</span>
1374 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001375 autofocus trigger action is called.<wbr>
1376
1377 When that trigger is activated,<wbr> AF must transition to
1378 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1379 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1380 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 INACTIVE.<wbr></span>
1382 </li>
1383 <li>
1384 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1385 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1386 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001387 constantly-in-focus image stream.<wbr>
1388
1389 The focusing behavior should be suitable for good quality
1390 video recording; typically this means slower focus
1391 movement and no overshoots.<wbr> When the AF trigger is not
1392 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1393 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1394 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1395 the algorithm should immediately transition into
1396 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1397 lens position until a cancel AF trigger is received.<wbr>
1398
1399 Once cancel is received,<wbr> the algorithm should transition
1400 back to INACTIVE and resume passive scan.<wbr> Note that this
1401 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1402 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 canceled.<wbr></span>
1404 </li>
1405 <li>
1406 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1407 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1408 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001409 constantly-in-focus image stream.<wbr>
1410
1411 The focusing behavior should be suitable for still image
1412 capture; typically this means focusing as fast as
1413 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1414 algorithm should start in INACTIVE state,<wbr> and then
1415 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1416 appropriate as it attempts to maintain focus.<wbr> When the AF
1417 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001419 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1420 lens position until a cancel AF trigger is received.<wbr>
1421
1422 When the AF cancel trigger is activated,<wbr> the algorithm
1423 should transition back to INACTIVE and then act as if it
1424 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 </li>
1426 <li>
1427 <span class="entry_type_enum_name">EDOF</span>
1428 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1429 trigger is ignored,<wbr> AF state should always be
1430 INACTIVE.<wbr></span>
1431 </li>
1432 </ul>
1433
1434 </td> <!-- entry_type -->
1435
1436 <td class="entry_description">
1437 Whether AF is currently enabled,<wbr> and what
1438 mode it is set to
1439 </td>
1440
1441 <td class="entry_units">
1442 </td>
1443
1444 <td class="entry_range">
1445 </td>
1446
1447 <td class="entry_notes">
1448 </td>
1449
1450 <td class="entry_tags">
1451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </ul>
1454 </td>
1455
1456 </tr> <!-- end of entry -->
1457
1458
1459 <tr class="entry" id="controls_android.control.afRegions">
1460 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001462 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001463 <span class="entry_type_container">x</span>
1464
1465 <span class="entry_type_array">
1466 5 x area_count
1467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001469
1470
1471 </td> <!-- entry_type -->
1472
1473 <td class="entry_description">
1474 List of areas to use for focus
1475 estimation
1476 </td>
1477
1478 <td class="entry_units">
1479 </td>
1480
1481 <td class="entry_range">
1482 </td>
1483
1484 <td class="entry_notes">
1485 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001486 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1487 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001488<br>
1489<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001490 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1491 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1492 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1493 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001494 should be nonnegative.<wbr>
1495<br>
1496<br> If all regions have 0 weight,<wbr> then no specific focus area
1497 needs to be used by the HAL.<wbr> If the focusing region is
1498 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1499 should ignore the sections outside the region and output the
1500 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </td>
1502
1503 <td class="entry_tags">
1504 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001505 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506 </ul>
1507 </td>
1508
1509 </tr> <!-- end of entry -->
1510
1511
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001512 <tr class="entry" id="controls_android.control.afTrigger">
1513 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1514 <td class="entry_type">
1515 <span class="entry_type_name entry_type_name_enum">byte</span>
1516
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001517 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001518
1519 <ul class="entry_type_enum">
1520 <li>
1521 <span class="entry_type_enum_name">IDLE</span>
1522 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1523 </li>
1524 <li>
1525 <span class="entry_type_enum_name">START</span>
1526 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1527 </li>
1528 <li>
1529 <span class="entry_type_enum_name">CANCEL</span>
1530 <span class="entry_type_enum_notes">Autofocus must return to initial
1531 state,<wbr> and cancel any active trigger.<wbr></span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
1537 <td class="entry_description">
1538 Whether the HAL must trigger autofocus.<wbr>
1539 </td>
1540
1541 <td class="entry_units">
1542 </td>
1543
1544 <td class="entry_range">
1545 </td>
1546
1547 <td class="entry_notes">
1548 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001549 included at all in the request settings.<wbr>
1550<br>
1551<br> When included and set to START,<wbr> the HAL must trigger the
1552 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1553 current AF mode and state; see the camera HAL device v3
1554 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1555 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001556 </td>
1557
1558 <td class="entry_tags">
1559 <ul class="entry_tags">
1560 <li><a href="#tag_BC">BC</a></li>
1561 </ul>
1562 </td>
1563
1564 </tr> <!-- end of entry -->
1565
1566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567 <tr class="entry" id="controls_android.control.awbLock">
1568 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001570 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001572 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001573
1574 <ul class="entry_type_enum">
1575 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001576 <span class="entry_type_enum_name">OFF</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1578 algorithm is free to update its parameters if in AUTO
1579 mode.<wbr></span>
1580 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001581 <li>
1582 <span class="entry_type_enum_name">ON</span>
1583 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1584 algorithm must not update the exposure and sensitivity
1585 parameters while the lock is active</span>
1586 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001587 </ul>
1588
1589 </td> <!-- entry_type -->
1590
1591 <td class="entry_description">
1592 Whether AWB is currently locked to its
1593 latest calculated values
1594 </td>
1595
1596 <td class="entry_units">
1597 </td>
1598
1599 <td class="entry_range">
1600 </td>
1601
1602 <td class="entry_notes">
1603 Note that AWB lock is only meaningful for AUTO
1604 mode; in other modes,<wbr> AWB is already fixed to a specific
1605 setting
1606 </td>
1607
1608 <td class="entry_tags">
1609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 </ul>
1612 </td>
1613
1614 </tr> <!-- end of entry -->
1615
1616
1617 <tr class="entry" id="controls_android.control.awbMode">
1618 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001622 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623
1624 <ul class="entry_type_enum">
1625 <li>
1626 <span class="entry_type_enum_name">OFF</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">AUTO</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">INCANDESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">FLUORESCENT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">DAYLIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1645 </li>
1646 <li>
1647 <span class="entry_type_enum_name">TWILIGHT</span>
1648 </li>
1649 <li>
1650 <span class="entry_type_enum_name">SHADE</span>
1651 </li>
1652 </ul>
1653
1654 </td> <!-- entry_type -->
1655
1656 <td class="entry_description">
1657 Whether AWB is currently setting the color
1658 transform fields,<wbr> and what its illumination target
1659 is
1660 </td>
1661
1662 <td class="entry_units">
1663 </td>
1664
1665 <td class="entry_range">
1666 </td>
1667
1668 <td class="entry_notes">
1669 [BC - AWB lock,<wbr>AWB modes]
1670 </td>
1671
1672 <td class="entry_tags">
1673 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001674 <li><a href="#tag_BC">BC</a></li>
1675 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </ul>
1677 </td>
1678
1679 </tr> <!-- end of entry -->
1680
1681
1682 <tr class="entry" id="controls_android.control.awbRegions">
1683 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 <span class="entry_type_container">x</span>
1687
1688 <span class="entry_type_array">
1689 5 x area_count
1690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001692
1693
1694 </td> <!-- entry_type -->
1695
1696 <td class="entry_description">
1697 List of areas to use for illuminant
1698 estimation
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001708 Only used in AUTO mode.<wbr>
1709<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001710<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1711 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1712 specified coordinates.<wbr>
1713<br>
1714<br> The coordinate system is based on the active pixel array,<wbr>
1715 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1716 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1717 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1718 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001719 should be nonnegative.<wbr>
1720<br>
1721<br> If all regions have 0 weight,<wbr> then no specific metering area
1722 needs to be used by the HAL.<wbr> If the metering region is
1723 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1724 should ignore the sections outside the region and output the
1725 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </td>
1727
1728 <td class="entry_tags">
1729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001731 </ul>
1732 </td>
1733
1734 </tr> <!-- end of entry -->
1735
1736
1737 <tr class="entry" id="controls_android.control.captureIntent">
1738 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001743
1744 <ul class="entry_type_enum">
1745 <li>
1746 <span class="entry_type_enum_name">CUSTOM</span>
1747 <span class="entry_type_enum_notes">This request doesn't fall into the other
1748 categories.<wbr> Default to preview-like
1749 behavior.<wbr></span>
1750 </li>
1751 <li>
1752 <span class="entry_type_enum_name">PREVIEW</span>
1753 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1754 precapture trigger may be used to start off a metering
1755 w/<wbr>flash sequence</span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1759 <span class="entry_type_enum_notes">This request is for a still capture-type
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1764 <span class="entry_type_enum_notes">This request is for a video recording
1765 usecase.<wbr></span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1769 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1770 image while recording video) usecase</span>
1771 </li>
1772 <li>
1773 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1774 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1775 application will stream full-resolution images and
1776 reprocess one or several later for a final
1777 capture</span>
1778 </li>
1779 </ul>
1780
1781 </td> <!-- entry_type -->
1782
1783 <td class="entry_description">
1784 Information to 3A routines about the purpose
1785 of this capture,<wbr> to help decide optimal 3A
1786 strategy
1787 </td>
1788
1789 <td class="entry_units">
1790 </td>
1791
1792 <td class="entry_range">
1793 all must be supported
1794 </td>
1795
1796 <td class="entry_notes">
1797 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1798 </td>
1799
1800 <td class="entry_tags">
1801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803 </ul>
1804 </td>
1805
1806 </tr> <!-- end of entry -->
1807
1808
1809 <tr class="entry" id="controls_android.control.effectMode">
1810 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001812 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001814 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 <ul class="entry_type_enum">
1817 <li>
1818 <span class="entry_type_enum_name">OFF</span>
1819 </li>
1820 <li>
1821 <span class="entry_type_enum_name">MONO</span>
1822 <span class="entry_type_enum_optional">optional</span>
1823 </li>
1824 <li>
1825 <span class="entry_type_enum_name">NEGATIVE</span>
1826 <span class="entry_type_enum_optional">optional</span>
1827 </li>
1828 <li>
1829 <span class="entry_type_enum_name">SOLARIZE</span>
1830 <span class="entry_type_enum_optional">optional</span>
1831 </li>
1832 <li>
1833 <span class="entry_type_enum_name">SEPIA</span>
1834 <span class="entry_type_enum_optional">optional</span>
1835 </li>
1836 <li>
1837 <span class="entry_type_enum_name">POSTERIZE</span>
1838 <span class="entry_type_enum_optional">optional</span>
1839 </li>
1840 <li>
1841 <span class="entry_type_enum_name">WHITEBOARD</span>
1842 <span class="entry_type_enum_optional">optional</span>
1843 </li>
1844 <li>
1845 <span class="entry_type_enum_name">BLACKBOARD</span>
1846 <span class="entry_type_enum_optional">optional</span>
1847 </li>
1848 <li>
1849 <span class="entry_type_enum_name">AQUA</span>
1850 <span class="entry_type_enum_optional">optional</span>
1851 </li>
1852 </ul>
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Whether any special color effect is in use.<wbr>
1858 Only used if android.<wbr>control.<wbr>mode != OFF
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 android.<wbr>control.<wbr>available<wbr>Effects
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="controls_android.control.mode">
1881 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886
1887 <ul class="entry_type_enum">
1888 <li>
1889 <span class="entry_type_enum_name">OFF</span>
1890 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1891 routines are disabled,<wbr> no other settings in
1892 android.<wbr>control.<wbr>* have any effect</span>
1893 </li>
1894 <li>
1895 <span class="entry_type_enum_name">AUTO</span>
1896 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1897 Manual control of capture parameters is disabled.<wbr> All
1898 controls in android.<wbr>control.<wbr>* besides sceneMode take
1899 effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1903 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1904 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1905 controls; the HAL must ignore those settings while
1906 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1907 scene mode).<wbr> Other control entries are still active.<wbr>
1908 This setting can only be used if availableSceneModes !=
1909 UNSUPPORTED</span>
1910 </li>
1911 </ul>
1912
1913 </td> <!-- entry_type -->
1914
1915 <td class="entry_description">
1916 Overall mode of 3A control
1917 routines
1918 </td>
1919
1920 <td class="entry_units">
1921 </td>
1922
1923 <td class="entry_range">
1924 all must be supported
1925 </td>
1926
1927 <td class="entry_notes">
1928 </td>
1929
1930 <td class="entry_tags">
1931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001932 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001933 </ul>
1934 </td>
1935
1936 </tr> <!-- end of entry -->
1937
1938
1939 <tr class="entry" id="controls_android.control.sceneMode">
1940 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001942 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945
1946 <ul class="entry_type_enum">
1947 <li>
1948 <span class="entry_type_enum_name">UNSUPPORTED</span>
1949 <span class="entry_type_enum_value">0</span>
1950 </li>
1951 <li>
1952 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1953 <span class="entry_type_enum_notes">if face detection support exists Use face
1954 detection data to drive 3A routines.<wbr> If face detection
1955 statistics are disabled,<wbr> should still operate correctly
1956 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001957 framework).<wbr>
1958
1959 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1960 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1961 compatibility concerns with the old camera
1962 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">ACTION</span>
1966 <span class="entry_type_enum_optional">optional</span>
1967 </li>
1968 <li>
1969 <span class="entry_type_enum_name">PORTRAIT</span>
1970 <span class="entry_type_enum_optional">optional</span>
1971 </li>
1972 <li>
1973 <span class="entry_type_enum_name">LANDSCAPE</span>
1974 <span class="entry_type_enum_optional">optional</span>
1975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">NIGHT</span>
1978 <span class="entry_type_enum_optional">optional</span>
1979 </li>
1980 <li>
1981 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1982 <span class="entry_type_enum_optional">optional</span>
1983 </li>
1984 <li>
1985 <span class="entry_type_enum_name">THEATRE</span>
1986 <span class="entry_type_enum_optional">optional</span>
1987 </li>
1988 <li>
1989 <span class="entry_type_enum_name">BEACH</span>
1990 <span class="entry_type_enum_optional">optional</span>
1991 </li>
1992 <li>
1993 <span class="entry_type_enum_name">SNOW</span>
1994 <span class="entry_type_enum_optional">optional</span>
1995 </li>
1996 <li>
1997 <span class="entry_type_enum_name">SUNSET</span>
1998 <span class="entry_type_enum_optional">optional</span>
1999 </li>
2000 <li>
2001 <span class="entry_type_enum_name">STEADYPHOTO</span>
2002 <span class="entry_type_enum_optional">optional</span>
2003 </li>
2004 <li>
2005 <span class="entry_type_enum_name">FIREWORKS</span>
2006 <span class="entry_type_enum_optional">optional</span>
2007 </li>
2008 <li>
2009 <span class="entry_type_enum_name">SPORTS</span>
2010 <span class="entry_type_enum_optional">optional</span>
2011 </li>
2012 <li>
2013 <span class="entry_type_enum_name">PARTY</span>
2014 <span class="entry_type_enum_optional">optional</span>
2015 </li>
2016 <li>
2017 <span class="entry_type_enum_name">CANDLELIGHT</span>
2018 <span class="entry_type_enum_optional">optional</span>
2019 </li>
2020 <li>
2021 <span class="entry_type_enum_name">BARCODE</span>
2022 <span class="entry_type_enum_optional">optional</span>
2023 </li>
2024 </ul>
2025
2026 </td> <!-- entry_type -->
2027
2028 <td class="entry_description">
2029 Which scene mode is active when
2030 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2031 </td>
2032
2033 <td class="entry_units">
2034 </td>
2035
2036 <td class="entry_range">
2037 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2038 </td>
2039
2040 <td class="entry_notes">
2041 </td>
2042
2043 <td class="entry_tags">
2044 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002045 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002046 </ul>
2047 </td>
2048
2049 </tr> <!-- end of entry -->
2050
2051
2052 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2053 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002057 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002058
2059 <ul class="entry_type_enum">
2060 <li>
2061 <span class="entry_type_enum_name">OFF</span>
2062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">ON</span>
2065 </li>
2066 </ul>
2067
2068 </td> <!-- entry_type -->
2069
2070 <td class="entry_description">
2071 Whether video stabilization is
2072 active
2073 </td>
2074
2075 <td class="entry_units">
2076 </td>
2077
2078 <td class="entry_range">
2079 </td>
2080
2081 <td class="entry_notes">
2082 If enabled,<wbr> video stabilization can modify the
2083 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2084 stabilized
2085 </td>
2086
2087 <td class="entry_tags">
2088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002089 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002090 </ul>
2091 </td>
2092
2093 </tr> <!-- end of entry -->
2094
2095
2096
2097 <!-- end of kind -->
2098 </tbody>
2099 <tr><td colspan="7" class="kind">static</td></tr>
2100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102 <tr>
2103 <th class="th_name">Property Name</th>
2104 <th class="th_type">Type</th>
2105 <th class="th_description">Description</th>
2106 <th class="th_units">Units</th>
2107 <th class="th_range">Range</th>
2108 <th class="th_notes">Notes</th>
2109 <th class="th_tags">Tags</th>
2110 </tr>
2111 </thead>
2112
2113 <tbody>
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2125 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002128 <span class="entry_type_container">x</span>
2129
2130 <span class="entry_type_array">
2131 n
2132 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002134 <div class="entry_type_notes">list of enums</div>
2135
2136
2137 </td> <!-- entry_type -->
2138
2139 <td class="entry_description">
2140 Which set of antibanding modes are
2141 supported
2142 </td>
2143
2144 <td class="entry_units">
2145 </td>
2146
2147 <td class="entry_range">
2148 </td>
2149
2150 <td class="entry_notes">
2151 </td>
2152
2153 <td class="entry_tags">
2154 </td>
2155
2156 </tr> <!-- end of entry -->
2157
2158
2159 <tr class="entry" id="static_android.control.aeAvailableModes">
2160 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002163 <span class="entry_type_container">x</span>
2164
2165 <span class="entry_type_array">
2166 n
2167 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002168 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002169 <div class="entry_type_notes">list of enums</div>
2170
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
2175 Which subset of AE modes is
2176 supported
2177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
2183 OFF,<wbr> ON must be supported.<wbr>
2184 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2185 unit is available
2186 </td>
2187
2188 <td class="entry_notes">
2189 </td>
2190
2191 <td class="entry_tags">
2192 </td>
2193
2194 </tr> <!-- end of entry -->
2195
2196
2197 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002201 <span class="entry_type_container">x</span>
2202
2203 <span class="entry_type_array">
2204 2 x n
2205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207 <div class="entry_type_notes">list of pairs of frame rates</div>
2208
2209
2210 </td> <!-- entry_type -->
2211
2212 <td class="entry_description">
2213 List of frame rate ranges supported by the
2214 AE algorithm/<wbr>hardware
2215 </td>
2216
2217 <td class="entry_units">
2218 </td>
2219
2220 <td class="entry_range">
2221 </td>
2222
2223 <td class="entry_notes">
2224 </td>
2225
2226 <td class="entry_tags">
2227 </td>
2228
2229 </tr> <!-- end of entry -->
2230
2231
2232 <tr class="entry" id="static_android.control.aeCompensationRange">
2233 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002235 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002236 <span class="entry_type_container">x</span>
2237
2238 <span class="entry_type_array">
2239 2
2240 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242
2243
2244 </td> <!-- entry_type -->
2245
2246 <td class="entry_description">
2247 Maximum and minimum exposure compensation
2248 setting,<wbr> in counts of
2249 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2250 </td>
2251
2252 <td class="entry_units">
2253 </td>
2254
2255 <td class="entry_range">
2256 At least (-2,<wbr>2)/<wbr>(exp compensation step
2257 size)
2258 </td>
2259
2260 <td class="entry_notes">
2261 </td>
2262
2263 <td class="entry_tags">
2264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002265 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002266 </ul>
2267 </td>
2268
2269 </tr> <!-- end of entry -->
2270
2271
2272 <tr class="entry" id="static_android.control.aeCompensationStep">
2273 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280 </td> <!-- entry_type -->
2281
2282 <td class="entry_description">
2283 Smallest step by which exposure compensation
2284 can be changed
2285 </td>
2286
2287 <td class="entry_units">
2288 </td>
2289
2290 <td class="entry_range">
2291 <= 1/<wbr>2
2292 </td>
2293
2294 <td class="entry_notes">
2295 </td>
2296
2297 <td class="entry_tags">
2298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002300 </ul>
2301 </td>
2302
2303 </tr> <!-- end of entry -->
2304
2305
2306 <tr class="entry" id="static_android.control.afAvailableModes">
2307 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002309 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002310 <span class="entry_type_container">x</span>
2311
2312 <span class="entry_type_array">
2313 n
2314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 <div class="entry_type_notes">List of enums</div>
2317
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 List of AF modes that can be
2323 selected
2324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
2330 OFF must be included.<wbr> AUTO must be supported if
2331 lens allows for changing focus
2332 </td>
2333
2334 <td class="entry_notes">
2335 </td>
2336
2337 <td class="entry_tags">
2338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002339 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002340 </ul>
2341 </td>
2342
2343 </tr> <!-- end of entry -->
2344
2345
2346 <tr class="entry" id="static_android.control.availableEffects">
2347 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002350 <span class="entry_type_container">x</span>
2351
2352 <span class="entry_type_array">
2353 n
2354 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002355 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 <div class="entry_type_notes">list of enums</div>
2357
2358
2359 </td> <!-- entry_type -->
2360
2361 <td class="entry_description">
2362 what subset of the full color effect enum
2363 list is supported
2364 </td>
2365
2366 <td class="entry_units">
2367 </td>
2368
2369 <td class="entry_range">
2370 OFF must be listed
2371 </td>
2372
2373 <td class="entry_notes">
2374 </td>
2375
2376 <td class="entry_tags">
2377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002379 </ul>
2380 </td>
2381
2382 </tr> <!-- end of entry -->
2383
2384
2385 <tr class="entry" id="static_android.control.availableSceneModes">
2386 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002388 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 <span class="entry_type_container">x</span>
2390
2391 <span class="entry_type_array">
2392 n
2393 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
2396
2397
2398 </td> <!-- entry_type -->
2399
2400 <td class="entry_description">
2401 what subset of the scene mode enum list is
2402 supported.<wbr>
2403 </td>
2404
2405 <td class="entry_units">
2406 </td>
2407
2408 <td class="entry_range">
2409 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2410 detection is supported
2411 </td>
2412
2413 <td class="entry_notes">
2414 </td>
2415
2416 <td class="entry_tags">
2417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002418 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002419 </ul>
2420 </td>
2421
2422 </tr> <!-- end of entry -->
2423
2424
2425 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2426 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002429 <span class="entry_type_container">x</span>
2430
2431 <span class="entry_type_array">
2432 n
2433 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002434 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002435 <div class="entry_type_notes">List of enums.<wbr></div>
2436
2437
2438 </td> <!-- entry_type -->
2439
2440 <td class="entry_description">
2441 List of video stabilization modes that can
2442 be supported
2443 </td>
2444
2445 <td class="entry_units">
2446 </td>
2447
2448 <td class="entry_range">
2449 OFF must be included
2450 </td>
2451
2452 <td class="entry_notes">
2453 </td>
2454
2455 <td class="entry_tags">
2456 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002457 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002458 </ul>
2459 </td>
2460
2461 </tr> <!-- end of entry -->
2462
2463
2464 <tr class="entry" id="static_android.control.awbAvailableModes">
2465 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002467 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002468 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469
Alex Raya4251d92013-04-30 16:43:44 -07002470 <span class="entry_type_array">
2471 n
2472 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002473 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002474 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002475
2476
2477 </td> <!-- entry_type -->
2478
2479 <td class="entry_description">
2480 </td>
2481
2482 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002483 </td>
2484
2485 <td class="entry_range">
2486 OFF,<wbr> AUTO must be included
2487 </td>
2488
2489 <td class="entry_notes">
2490 </td>
2491
2492 <td class="entry_tags">
2493 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002494 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002495 </ul>
2496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="static_android.control.maxRegions">
2502 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002507
2508
2509 </td> <!-- entry_type -->
2510
2511 <td class="entry_description">
2512 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2513 regions can be listed for metering?
2514 </td>
2515
2516 <td class="entry_units">
2517 </td>
2518
2519 <td class="entry_range">
2520 >= 1
2521 </td>
2522
2523 <td class="entry_notes">
2524 </td>
2525
2526 <td class="entry_tags">
2527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 </ul>
2530 </td>
2531
2532 </tr> <!-- end of entry -->
2533
2534
2535 <tr class="entry" id="static_android.control.sceneModeOverrides">
2536 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002538 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <span class="entry_type_container">x</span>
2540
2541 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002542 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002545
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2551 each available scene mode
2552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2559 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002560 scene mode.<wbr>
2561
2562 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2563 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002564 </td>
2565
2566 <td class="entry_notes">
2567 When a scene mode is enabled,<wbr> the HAL is expected
2568 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002569 preferred settings for that scene mode.<wbr>
2570<br>
2571<br> To simplify communication with old camera API applications,<wbr>
2572 the service wants this override list in the static metadata.<wbr>
2573 The order of this list matches that of availableSceneModes,<wbr>
2574 with 3 entires for each scene mode.<wbr> The overrides listed
2575 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2576 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2577 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2578 AUTO.<wbr>
2579<br>
2580<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2581 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2582 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2583 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2584 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2585 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </td>
2587
2588 <td class="entry_tags">
2589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002591 </ul>
2592 </td>
2593
2594 </tr> <!-- end of entry -->
2595
2596
2597
2598 <!-- end of kind -->
2599 </tbody>
2600 <tr><td colspan="7" class="kind">dynamic</td></tr>
2601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002602 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002603 <tr>
2604 <th class="th_name">Property Name</th>
2605 <th class="th_type">Type</th>
2606 <th class="th_description">Description</th>
2607 <th class="th_units">Units</th>
2608 <th class="th_range">Range</th>
2609 <th class="th_notes">Notes</th>
2610 <th class="th_tags">Tags</th>
2611 </tr>
2612 </thead>
2613
2614 <tbody>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2626 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
2636 The ID sent with the latest
2637 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2638 </td>
2639
2640 <td class="entry_units">
2641 </td>
2642
2643 <td class="entry_range">
2644 </td>
2645
2646 <td class="entry_notes">
2647 Must be 0 if no
2648 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2649 by HAL.<wbr> Always updated even if AE algorithm ignores the
2650 trigger
2651 </td>
2652
2653 <td class="entry_tags">
2654 </td>
2655
2656 </tr> <!-- end of entry -->
2657
2658
2659 <tr class="entry" id="dynamic_android.control.aeRegions">
2660 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002662 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <span class="entry_type_container">x</span>
2664
2665 <span class="entry_type_array">
2666 5 x area_count
2667 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669
2670
2671 </td> <!-- entry_type -->
2672
2673 <td class="entry_description">
2674 List of areas to use for
2675 metering
2676 </td>
2677
2678 <td class="entry_units">
2679 </td>
2680
2681 <td class="entry_range">
2682 </td>
2683
2684 <td class="entry_notes">
2685 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002686 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2687 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688<br>
2689<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002690 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2691 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2692 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2693 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002694 should be nonnegative.<wbr>
2695<br>
2696<br> If all regions have 0 weight,<wbr> then no specific metering area
2697 needs to be used by the HAL.<wbr> If the metering region is
2698 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2699 should ignore the sections outside the region and output the
2700 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <ul class="entry_tags">
2705 <li><a href="#tag_BC">BC</a></li>
2706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002707 </td>
2708
2709 </tr> <!-- end of entry -->
2710
2711
2712 <tr class="entry" id="dynamic_android.control.aeState">
2713 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718
2719 <ul class="entry_type_enum">
2720 <li>
2721 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002722 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2723 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </li>
2725 <li>
2726 <span class="entry_type_enum_name">SEARCHING</span>
2727 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2728 for the current scene</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">CONVERGED</span>
2732 <span class="entry_type_enum_notes">AE has a good set of control values for the
2733 current scene</span>
2734 </li>
2735 <li>
2736 <span class="entry_type_enum_name">LOCKED</span>
2737 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2738 LOCKED)</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2742 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2743 needs to be fired for good quality still
2744 capture</span>
2745 </li>
2746 <li>
2747 <span class="entry_type_enum_name">PRECAPTURE</span>
2748 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2749 (through the
2750 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2751 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2752 completes,<wbr> AE will transition to CONVERGED or
2753 FLASH_<wbr>REQUIRED as appropriate</span>
2754 </li>
2755 </ul>
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
2760 Current state of AE algorithm
2761 </td>
2762
2763 <td class="entry_units">
2764 </td>
2765
2766 <td class="entry_range">
2767 </td>
2768
2769 <td class="entry_notes">
2770 Whenever the AE algorithm state changes,<wbr> a
2771 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2772 notification callback is registered.<wbr>
2773 </td>
2774
2775 <td class="entry_tags">
2776 </td>
2777
2778 </tr> <!-- end of entry -->
2779
2780
2781 <tr class="entry" id="dynamic_android.control.afMode">
2782 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002784 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787
2788 <ul class="entry_type_enum">
2789 <li>
2790 <span class="entry_type_enum_name">OFF</span>
2791 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002792 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793 application</span>
2794 </li>
2795 <li>
2796 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002797 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2798
2799 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2800 is fixed focus In this mode,<wbr> the lens does not move unless
2801 the autofocus trigger action is called.<wbr> When that trigger
2802 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2803 the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr>
2805
2806 Triggering cancel AF resets the lens position to default,<wbr>
2807 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 </li>
2809 <li>
2810 <span class="entry_type_enum_name">MACRO</span>
2811 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002812 autofocus trigger action is called.<wbr>
2813
2814 When that trigger is activated,<wbr> AF must transition to
2815 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2816 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2817 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002818 INACTIVE.<wbr></span>
2819 </li>
2820 <li>
2821 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2822 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2823 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002824 constantly-in-focus image stream.<wbr>
2825
2826 The focusing behavior should be suitable for good quality
2827 video recording; typically this means slower focus
2828 movement and no overshoots.<wbr> When the AF trigger is not
2829 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2830 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2831 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2832 the algorithm should immediately transition into
2833 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2834 lens position until a cancel AF trigger is received.<wbr>
2835
2836 Once cancel is received,<wbr> the algorithm should transition
2837 back to INACTIVE and resume passive scan.<wbr> Note that this
2838 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2839 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002840 canceled.<wbr></span>
2841 </li>
2842 <li>
2843 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2844 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2845 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 constantly-in-focus image stream.<wbr>
2847
2848 The focusing behavior should be suitable for still image
2849 capture; typically this means focusing as fast as
2850 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2851 algorithm should start in INACTIVE state,<wbr> and then
2852 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2853 appropriate as it attempts to maintain focus.<wbr> When the AF
2854 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002856 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2857 lens position until a cancel AF trigger is received.<wbr>
2858
2859 When the AF cancel trigger is activated,<wbr> the algorithm
2860 should transition back to INACTIVE and then act as if it
2861 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 </li>
2863 <li>
2864 <span class="entry_type_enum_name">EDOF</span>
2865 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2866 trigger is ignored,<wbr> AF state should always be
2867 INACTIVE.<wbr></span>
2868 </li>
2869 </ul>
2870
2871 </td> <!-- entry_type -->
2872
2873 <td class="entry_description">
2874 Whether AF is currently enabled,<wbr> and what
2875 mode it is set to
2876 </td>
2877
2878 <td class="entry_units">
2879 </td>
2880
2881 <td class="entry_range">
2882 </td>
2883
2884 <td class="entry_notes">
2885 </td>
2886
2887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002888 <ul class="entry_tags">
2889 <li><a href="#tag_BC">BC</a></li>
2890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002891 </td>
2892
2893 </tr> <!-- end of entry -->
2894
2895
2896 <tr class="entry" id="dynamic_android.control.afRegions">
2897 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 <span class="entry_type_container">x</span>
2901
2902 <span class="entry_type_array">
2903 5 x area_count
2904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906
2907
2908 </td> <!-- entry_type -->
2909
2910 <td class="entry_description">
2911 List of areas to use for focus
2912 estimation
2913 </td>
2914
2915 <td class="entry_units">
2916 </td>
2917
2918 <td class="entry_range">
2919 </td>
2920
2921 <td class="entry_notes">
2922 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002923 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2924 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002925<br>
2926<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002927 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2928 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2929 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2930 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002931 should be nonnegative.<wbr>
2932<br>
2933<br> If all regions have 0 weight,<wbr> then no specific focus area
2934 needs to be used by the HAL.<wbr> If the focusing region is
2935 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2936 should ignore the sections outside the region and output the
2937 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938 </td>
2939
2940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002941 <ul class="entry_tags">
2942 <li><a href="#tag_BC">BC</a></li>
2943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 </td>
2945
2946 </tr> <!-- end of entry -->
2947
2948
2949 <tr class="entry" id="dynamic_android.control.afState">
2950 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955
2956 <ul class="entry_type_enum">
2957 <li>
2958 <span class="entry_type_enum_name">INACTIVE</span>
2959 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002960 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2961 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </li>
2963 <li>
2964 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2965 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2966 currently doing an AF scan initiated by a continuous
2967 autofocus mode</span>
2968 </li>
2969 <li>
2970 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2971 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2972 believes it is in focus,<wbr> but may restart scanning at
2973 any time.<wbr></span>
2974 </li>
2975 <li>
2976 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2977 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2978 an AF scan because it was triggered by AF
2979 trigger</span>
2980 </li>
2981 <li>
2982 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2983 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2984 believes it is focused correctly and is
2985 locked</span>
2986 </li>
2987 <li>
2988 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2989 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2990 failed to focus successfully and is
2991 locked</span>
2992 </li>
2993 </ul>
2994
2995 </td> <!-- entry_type -->
2996
2997 <td class="entry_description">
2998 Current state of AF algorithm
2999 </td>
3000
3001 <td class="entry_units">
3002 </td>
3003
3004 <td class="entry_range">
3005 </td>
3006
3007 <td class="entry_notes">
3008 Whenever the AF algorithm state changes,<wbr> a
3009 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3010 callback is registered.<wbr>
3011 </td>
3012
3013 <td class="entry_tags">
3014 </td>
3015
3016 </tr> <!-- end of entry -->
3017
3018
3019 <tr class="entry" id="dynamic_android.control.afTriggerId">
3020 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003022 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003024 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003025
3026
3027 </td> <!-- entry_type -->
3028
3029 <td class="entry_description">
3030 The ID sent with the latest
3031 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3032 </td>
3033
3034 <td class="entry_units">
3035 </td>
3036
3037 <td class="entry_range">
3038 </td>
3039
3040 <td class="entry_notes">
3041 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3042 received yet by HAL.<wbr> Always updated even if AF algorithm
3043 ignores the trigger
3044 </td>
3045
3046 <td class="entry_tags">
3047 </td>
3048
3049 </tr> <!-- end of entry -->
3050
3051
3052 <tr class="entry" id="dynamic_android.control.awbMode">
3053 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003056
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003057 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003058
3059 <ul class="entry_type_enum">
3060 <li>
3061 <span class="entry_type_enum_name">OFF</span>
3062 </li>
3063 <li>
3064 <span class="entry_type_enum_name">AUTO</span>
3065 </li>
3066 <li>
3067 <span class="entry_type_enum_name">INCANDESCENT</span>
3068 </li>
3069 <li>
3070 <span class="entry_type_enum_name">FLUORESCENT</span>
3071 </li>
3072 <li>
3073 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3074 </li>
3075 <li>
3076 <span class="entry_type_enum_name">DAYLIGHT</span>
3077 </li>
3078 <li>
3079 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3080 </li>
3081 <li>
3082 <span class="entry_type_enum_name">TWILIGHT</span>
3083 </li>
3084 <li>
3085 <span class="entry_type_enum_name">SHADE</span>
3086 </li>
3087 </ul>
3088
3089 </td> <!-- entry_type -->
3090
3091 <td class="entry_description">
3092 Whether AWB is currently setting the color
3093 transform fields,<wbr> and what its illumination target
3094 is
3095 </td>
3096
3097 <td class="entry_units">
3098 </td>
3099
3100 <td class="entry_range">
3101 </td>
3102
3103 <td class="entry_notes">
3104 [BC - AWB lock,<wbr>AWB modes]
3105 </td>
3106
3107 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003108 <ul class="entry_tags">
3109 <li><a href="#tag_BC">BC</a></li>
3110 <li><a href="#tag_AWB">AWB</a></li>
3111 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112 </td>
3113
3114 </tr> <!-- end of entry -->
3115
3116
3117 <tr class="entry" id="dynamic_android.control.awbRegions">
3118 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3119 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003120 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003121 <span class="entry_type_container">x</span>
3122
3123 <span class="entry_type_array">
3124 5 x area_count
3125 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003126 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127
3128
3129 </td> <!-- entry_type -->
3130
3131 <td class="entry_description">
3132 List of areas to use for illuminant
3133 estimation
3134 </td>
3135
3136 <td class="entry_units">
3137 </td>
3138
3139 <td class="entry_range">
3140 </td>
3141
3142 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003143 Only used in AUTO mode.<wbr>
3144<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003145<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3146 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3147 specified coordinates.<wbr>
3148<br>
3149<br> The coordinate system is based on the active pixel array,<wbr>
3150 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3151 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3152 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3153 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003154 should be nonnegative.<wbr>
3155<br>
3156<br> If all regions have 0 weight,<wbr> then no specific metering area
3157 needs to be used by the HAL.<wbr> If the metering region is
3158 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3159 should ignore the sections outside the region and output the
3160 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003161 </td>
3162
3163 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003164 <ul class="entry_tags">
3165 <li><a href="#tag_BC">BC</a></li>
3166 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167 </td>
3168
3169 </tr> <!-- end of entry -->
3170
3171
3172 <tr class="entry" id="dynamic_android.control.awbState">
3173 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003175 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003178
3179 <ul class="entry_type_enum">
3180 <li>
3181 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003182 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3183 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003184 </li>
3185 <li>
3186 <span class="entry_type_enum_name">SEARCHING</span>
3187 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3188 values for the current scene</span>
3189 </li>
3190 <li>
3191 <span class="entry_type_enum_name">CONVERGED</span>
3192 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3193 current scene</span>
3194 </li>
3195 <li>
3196 <span class="entry_type_enum_name">LOCKED</span>
3197 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3198 LOCKED)</span>
3199 </li>
3200 </ul>
3201
3202 </td> <!-- entry_type -->
3203
3204 <td class="entry_description">
3205 Current state of AWB algorithm
3206 </td>
3207
3208 <td class="entry_units">
3209 </td>
3210
3211 <td class="entry_range">
3212 </td>
3213
3214 <td class="entry_notes">
3215 Whenever the AWB algorithm state changes,<wbr> a
3216 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3217 notification callback is registered.<wbr>
3218 </td>
3219
3220 <td class="entry_tags">
3221 </td>
3222
3223 </tr> <!-- end of entry -->
3224
3225
3226 <tr class="entry" id="dynamic_android.control.mode">
3227 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3228 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003229 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003230
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003231 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003232
3233 <ul class="entry_type_enum">
3234 <li>
3235 <span class="entry_type_enum_name">OFF</span>
3236 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3237 routines are disabled,<wbr> no other settings in
3238 android.<wbr>control.<wbr>* have any effect</span>
3239 </li>
3240 <li>
3241 <span class="entry_type_enum_name">AUTO</span>
3242 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3243 Manual control of capture parameters is disabled.<wbr> All
3244 controls in android.<wbr>control.<wbr>* besides sceneMode take
3245 effect</span>
3246 </li>
3247 <li>
3248 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3249 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3250 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3251 controls; the HAL must ignore those settings while
3252 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3253 scene mode).<wbr> Other control entries are still active.<wbr>
3254 This setting can only be used if availableSceneModes !=
3255 UNSUPPORTED</span>
3256 </li>
3257 </ul>
3258
3259 </td> <!-- entry_type -->
3260
3261 <td class="entry_description">
3262 Overall mode of 3A control
3263 routines
3264 </td>
3265
3266 <td class="entry_units">
3267 </td>
3268
3269 <td class="entry_range">
3270 all must be supported
3271 </td>
3272
3273 <td class="entry_notes">
3274 </td>
3275
3276 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003277 <ul class="entry_tags">
3278 <li><a href="#tag_BC">BC</a></li>
3279 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003280 </td>
3281
3282 </tr> <!-- end of entry -->
3283
3284
3285
3286 <!-- end of kind -->
3287 </tbody>
3288
3289 <!-- end of section -->
3290 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3291
3292
3293 <tr><td colspan="7" class="kind">controls</td></tr>
3294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003295 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003296 <tr>
3297 <th class="th_name">Property Name</th>
3298 <th class="th_type">Type</th>
3299 <th class="th_description">Description</th>
3300 <th class="th_units">Units</th>
3301 <th class="th_range">Range</th>
3302 <th class="th_notes">Notes</th>
3303 <th class="th_tags">Tags</th>
3304 </tr>
3305 </thead>
3306
3307 <tbody>
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318 <tr class="entry" id="controls_android.demosaic.mode">
3319 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003323 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003324
3325 <ul class="entry_type_enum">
3326 <li>
3327 <span class="entry_type_enum_name">FAST</span>
3328 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3329 Bayer RAW output</span>
3330 </li>
3331 <li>
3332 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3333 <span class="entry_type_enum_notes">High-quality may reduce output frame
3334 rate</span>
3335 </li>
3336 </ul>
3337
3338 </td> <!-- entry_type -->
3339
3340 <td class="entry_description">
3341 Controls the quality of the demosaicing
3342 processing
3343 </td>
3344
3345 <td class="entry_units">
3346 </td>
3347
3348 <td class="entry_range">
3349 </td>
3350
3351 <td class="entry_notes">
3352 </td>
3353
3354 <td class="entry_tags">
3355 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003356 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003357 </ul>
3358 </td>
3359
3360 </tr> <!-- end of entry -->
3361
3362
3363
3364 <!-- end of kind -->
3365 </tbody>
3366
3367 <!-- end of section -->
3368 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3369
3370
3371 <tr><td colspan="7" class="kind">controls</td></tr>
3372
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003373 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003374 <tr>
3375 <th class="th_name">Property Name</th>
3376 <th class="th_type">Type</th>
3377 <th class="th_description">Description</th>
3378 <th class="th_units">Units</th>
3379 <th class="th_range">Range</th>
3380 <th class="th_notes">Notes</th>
3381 <th class="th_tags">Tags</th>
3382 </tr>
3383 </thead>
3384
3385 <tbody>
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396 <tr class="entry" id="controls_android.edge.mode">
3397 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3398 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003399 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003400
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003402
3403 <ul class="entry_type_enum">
3404 <li>
3405 <span class="entry_type_enum_name">OFF</span>
3406 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3407 </li>
3408 <li>
3409 <span class="entry_type_enum_name">FAST</span>
3410 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3411 bayer output</span>
3412 </li>
3413 <li>
3414 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3415 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3416 quality</span>
3417 </li>
3418 </ul>
3419
3420 </td> <!-- entry_type -->
3421
3422 <td class="entry_description">
3423 Operation mode for edge
3424 enhancement
3425 </td>
3426
3427 <td class="entry_units">
3428 </td>
3429
3430 <td class="entry_range">
3431 </td>
3432
3433 <td class="entry_notes">
3434 </td>
3435
3436 <td class="entry_tags">
3437 </td>
3438
3439 </tr> <!-- end of entry -->
3440
3441
3442 <tr class="entry" id="controls_android.edge.strength">
3443 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003445 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003446
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003447 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003448
3449
3450 </td> <!-- entry_type -->
3451
3452 <td class="entry_description">
3453 Control the amount of edge enhancement
3454 applied to the images
3455 </td>
3456
3457 <td class="entry_units">
3458 1-10; 10 is maximum sharpening
3459 </td>
3460
3461 <td class="entry_range">
3462 </td>
3463
3464 <td class="entry_notes">
3465 </td>
3466
3467 <td class="entry_tags">
3468 </td>
3469
3470 </tr> <!-- end of entry -->
3471
3472
3473
3474 <!-- end of kind -->
3475 </tbody>
3476 <tr><td colspan="7" class="kind">dynamic</td></tr>
3477
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003478 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003479 <tr>
3480 <th class="th_name">Property Name</th>
3481 <th class="th_type">Type</th>
3482 <th class="th_description">Description</th>
3483 <th class="th_units">Units</th>
3484 <th class="th_range">Range</th>
3485 <th class="th_notes">Notes</th>
3486 <th class="th_tags">Tags</th>
3487 </tr>
3488 </thead>
3489
3490 <tbody>
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501 <tr class="entry" id="dynamic_android.edge.mode">
3502 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003504 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003507
3508 <ul class="entry_type_enum">
3509 <li>
3510 <span class="entry_type_enum_name">OFF</span>
3511 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3512 </li>
3513 <li>
3514 <span class="entry_type_enum_name">FAST</span>
3515 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3516 bayer output</span>
3517 </li>
3518 <li>
3519 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3520 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3521 quality</span>
3522 </li>
3523 </ul>
3524
3525 </td> <!-- entry_type -->
3526
3527 <td class="entry_description">
3528 Operation mode for edge
3529 enhancement
3530 </td>
3531
3532 <td class="entry_units">
3533 </td>
3534
3535 <td class="entry_range">
3536 </td>
3537
3538 <td class="entry_notes">
3539 </td>
3540
3541 <td class="entry_tags">
3542 </td>
3543
3544 </tr> <!-- end of entry -->
3545
3546
3547
3548 <!-- end of kind -->
3549 </tbody>
3550
3551 <!-- end of section -->
3552 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3553
3554
3555 <tr><td colspan="7" class="kind">controls</td></tr>
3556
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003557 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003558 <tr>
3559 <th class="th_name">Property Name</th>
3560 <th class="th_type">Type</th>
3561 <th class="th_description">Description</th>
3562 <th class="th_units">Units</th>
3563 <th class="th_range">Range</th>
3564 <th class="th_notes">Notes</th>
3565 <th class="th_tags">Tags</th>
3566 </tr>
3567 </thead>
3568
3569 <tbody>
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580 <tr class="entry" id="controls_android.flash.firingPower">
3581 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003583 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003584
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003585 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003586
3587
3588 </td> <!-- entry_type -->
3589
3590 <td class="entry_description">
3591 Power for flash firing/<wbr>torch
3592 </td>
3593
3594 <td class="entry_units">
3595 10 is max power; 0 is no flash.<wbr> Linear
3596 </td>
3597
3598 <td class="entry_range">
3599 0 - 10
3600 </td>
3601
3602 <td class="entry_notes">
3603 Power for snapshot may use a different scale than
3604 for torch mode.<wbr> Only one entry for torch mode will be
3605 used
3606 </td>
3607
3608 <td class="entry_tags">
3609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003610 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003611 </ul>
3612 </td>
3613
3614 </tr> <!-- end of entry -->
3615
3616
3617 <tr class="entry" id="controls_android.flash.firingTime">
3618 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003620 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003622 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003623
3624
3625 </td> <!-- entry_type -->
3626
3627 <td class="entry_description">
3628 Firing time of flash relative to start of
3629 exposure
3630 </td>
3631
3632 <td class="entry_units">
3633 nanoseconds
3634 </td>
3635
3636 <td class="entry_range">
3637 0-(exposure time-flash duration)
3638 </td>
3639
3640 <td class="entry_notes">
3641 Clamped to (0,<wbr> exposure time - flash
3642 duration).<wbr>
3643 </td>
3644
3645 <td class="entry_tags">
3646 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003647 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003648 </ul>
3649 </td>
3650
3651 </tr> <!-- end of entry -->
3652
3653
3654 <tr class="entry" id="controls_android.flash.mode">
3655 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003657 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003659 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003660
3661 <ul class="entry_type_enum">
3662 <li>
3663 <span class="entry_type_enum_name">OFF</span>
3664 <span class="entry_type_enum_notes">Do not fire the flash for this
3665 capture</span>
3666 </li>
3667 <li>
3668 <span class="entry_type_enum_name">SINGLE</span>
3669 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3670 for this capture based on firingPower,<wbr>
3671 firingTime.<wbr></span>
3672 </li>
3673 <li>
3674 <span class="entry_type_enum_name">TORCH</span>
3675 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3676 continuously on,<wbr> power set by
3677 firingPower</span>
3678 </li>
3679 </ul>
3680
3681 </td> <!-- entry_type -->
3682
3683 <td class="entry_description">
3684 Select flash operation mode
3685 </td>
3686
3687 <td class="entry_units">
3688 </td>
3689
3690 <td class="entry_range">
3691 </td>
3692
3693 <td class="entry_notes">
3694 </td>
3695
3696 <td class="entry_tags">
3697 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003698 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003699 </ul>
3700 </td>
3701
3702 </tr> <!-- end of entry -->
3703
3704
3705
3706 <!-- end of kind -->
3707 </tbody>
3708 <tr><td colspan="7" class="kind">static</td></tr>
3709
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003710 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003711 <tr>
3712 <th class="th_name">Property Name</th>
3713 <th class="th_type">Type</th>
3714 <th class="th_description">Description</th>
3715 <th class="th_units">Units</th>
3716 <th class="th_range">Range</th>
3717 <th class="th_notes">Notes</th>
3718 <th class="th_tags">Tags</th>
3719 </tr>
3720 </thead>
3721
3722 <tbody>
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735 <tr class="entry" id="static_android.flash.info.available">
3736 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3737 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003738 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003739
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003740 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003741
3742
3743 </td> <!-- entry_type -->
3744
3745 <td class="entry_description">
3746 Whether this camera has a
3747 flash
3748 </td>
3749
3750 <td class="entry_units">
3751 boolean (0 = false,<wbr> otherwise true)
3752 </td>
3753
3754 <td class="entry_range">
3755 </td>
3756
3757 <td class="entry_notes">
3758 If no flash,<wbr> none of the flash controls do
3759 anything.<wbr> All other metadata should return 0
3760 </td>
3761
3762 <td class="entry_tags">
3763 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003764 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003765 </ul>
3766 </td>
3767
3768 </tr> <!-- end of entry -->
3769
3770
3771 <tr class="entry" id="static_android.flash.info.chargeDuration">
3772 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003774 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003777
3778
3779 </td> <!-- entry_type -->
3780
3781 <td class="entry_description">
3782 Time taken before flash can fire
3783 again
3784 </td>
3785
3786 <td class="entry_units">
3787 nanoseconds
3788 </td>
3789
3790 <td class="entry_range">
3791 0-1e9
3792 </td>
3793
3794 <td class="entry_notes">
3795 1 second too long/<wbr>too short for recharge? Should
3796 this be power-dependent?
3797 </td>
3798
3799 <td class="entry_tags">
3800 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003801 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003802 </ul>
3803 </td>
3804
3805 </tr> <!-- end of entry -->
3806
3807
3808
3809
3810
3811 <tr class="entry" id="static_android.flash.colorTemperature">
3812 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3813 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003814 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003815
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003816 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003817
3818
3819 </td> <!-- entry_type -->
3820
3821 <td class="entry_description">
3822 The x,<wbr>y whitepoint of the
3823 flash
3824 </td>
3825
3826 <td class="entry_units">
3827 pair of floats
3828 </td>
3829
3830 <td class="entry_range">
3831 0-1 for both
3832 </td>
3833
3834 <td class="entry_notes">
3835 </td>
3836
3837 <td class="entry_tags">
3838 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003839 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003840 </ul>
3841 </td>
3842
3843 </tr> <!-- end of entry -->
3844
3845
3846 <tr class="entry" id="static_android.flash.maxEnergy">
3847 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3848 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003849 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003850
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003851 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003852
3853
3854 </td> <!-- entry_type -->
3855
3856 <td class="entry_description">
3857 Max energy output of the flash for a full
3858 power single flash
3859 </td>
3860
3861 <td class="entry_units">
3862 lumen-seconds
3863 </td>
3864
3865 <td class="entry_range">
3866 >= 0
3867 </td>
3868
3869 <td class="entry_notes">
3870 </td>
3871
3872 <td class="entry_tags">
3873 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003874 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003875 </ul>
3876 </td>
3877
3878 </tr> <!-- end of entry -->
3879
3880
3881
3882 <!-- end of kind -->
3883 </tbody>
3884 <tr><td colspan="7" class="kind">dynamic</td></tr>
3885
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003886 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003887 <tr>
3888 <th class="th_name">Property Name</th>
3889 <th class="th_type">Type</th>
3890 <th class="th_description">Description</th>
3891 <th class="th_units">Units</th>
3892 <th class="th_range">Range</th>
3893 <th class="th_notes">Notes</th>
3894 <th class="th_tags">Tags</th>
3895 </tr>
3896 </thead>
3897
3898 <tbody>
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909 <tr class="entry" id="dynamic_android.flash.firingPower">
3910 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3911 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003912 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003913
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003914 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003915
3916
3917 </td> <!-- entry_type -->
3918
3919 <td class="entry_description">
3920 Power for flash firing/<wbr>torch
3921 </td>
3922
3923 <td class="entry_units">
3924 10 is max power; 0 is no flash.<wbr> Linear
3925 </td>
3926
3927 <td class="entry_range">
3928 0 - 10
3929 </td>
3930
3931 <td class="entry_notes">
3932 Power for snapshot may use a different scale than
3933 for torch mode.<wbr> Only one entry for torch mode will be
3934 used
3935 </td>
3936
3937 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003938 <ul class="entry_tags">
3939 <li><a href="#tag_V1">V1</a></li>
3940 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003941 </td>
3942
3943 </tr> <!-- end of entry -->
3944
3945
3946 <tr class="entry" id="dynamic_android.flash.firingTime">
3947 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3948 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003949 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003950
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003951 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003952
3953
3954 </td> <!-- entry_type -->
3955
3956 <td class="entry_description">
3957 Firing time of flash relative to start of
3958 exposure
3959 </td>
3960
3961 <td class="entry_units">
3962 nanoseconds
3963 </td>
3964
3965 <td class="entry_range">
3966 0-(exposure time-flash duration)
3967 </td>
3968
3969 <td class="entry_notes">
3970 Clamped to (0,<wbr> exposure time - flash
3971 duration).<wbr>
3972 </td>
3973
3974 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003975 <ul class="entry_tags">
3976 <li><a href="#tag_V1">V1</a></li>
3977 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003978 </td>
3979
3980 </tr> <!-- end of entry -->
3981
3982
3983 <tr class="entry" id="dynamic_android.flash.mode">
3984 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3985 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003986 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003987
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003988 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003989
3990 <ul class="entry_type_enum">
3991 <li>
3992 <span class="entry_type_enum_name">OFF</span>
3993 <span class="entry_type_enum_notes">Do not fire the flash for this
3994 capture</span>
3995 </li>
3996 <li>
3997 <span class="entry_type_enum_name">SINGLE</span>
3998 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3999 for this capture based on firingPower,<wbr>
4000 firingTime.<wbr></span>
4001 </li>
4002 <li>
4003 <span class="entry_type_enum_name">TORCH</span>
4004 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4005 continuously on,<wbr> power set by
4006 firingPower</span>
4007 </li>
4008 </ul>
4009
4010 </td> <!-- entry_type -->
4011
4012 <td class="entry_description">
4013 Select flash operation mode
4014 </td>
4015
4016 <td class="entry_units">
4017 </td>
4018
4019 <td class="entry_range">
4020 </td>
4021
4022 <td class="entry_notes">
4023 </td>
4024
4025 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004026 <ul class="entry_tags">
4027 <li><a href="#tag_BC">BC</a></li>
4028 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004029 </td>
4030
4031 </tr> <!-- end of entry -->
4032
4033
4034 <tr class="entry" id="dynamic_android.flash.state">
4035 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4036 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004037 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004038
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004039 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004040
4041 <ul class="entry_type_enum">
4042 <li>
4043 <span class="entry_type_enum_name">UNAVAILABLE</span>
4044 <span class="entry_type_enum_notes">No flash on camera</span>
4045 </li>
4046 <li>
4047 <span class="entry_type_enum_name">CHARGING</span>
4048 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4049 charging and cannot be fired</span>
4050 </li>
4051 <li>
4052 <span class="entry_type_enum_name">READY</span>
4053 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4054 ready to fire</span>
4055 </li>
4056 <li>
4057 <span class="entry_type_enum_name">FIRED</span>
4058 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4059 for this capture</span>
4060 </li>
4061 </ul>
4062
4063 </td> <!-- entry_type -->
4064
4065 <td class="entry_description">
4066 Current state of the flash
4067 unit
4068 </td>
4069
4070 <td class="entry_units">
4071 </td>
4072
4073 <td class="entry_range">
4074 </td>
4075
4076 <td class="entry_notes">
4077 </td>
4078
4079 <td class="entry_tags">
4080 </td>
4081
4082 </tr> <!-- end of entry -->
4083
4084
4085
4086 <!-- end of kind -->
4087 </tbody>
4088
4089 <!-- end of section -->
4090 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4091
4092
4093 <tr><td colspan="7" class="kind">controls</td></tr>
4094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004095 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004096 <tr>
4097 <th class="th_name">Property Name</th>
4098 <th class="th_type">Type</th>
4099 <th class="th_description">Description</th>
4100 <th class="th_units">Units</th>
4101 <th class="th_range">Range</th>
4102 <th class="th_notes">Notes</th>
4103 <th class="th_tags">Tags</th>
4104 </tr>
4105 </thead>
4106
4107 <tbody>
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118 <tr class="entry" id="controls_android.geometric.mode">
4119 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4120 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004121 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004122
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004123 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004124
4125 <ul class="entry_type_enum">
4126 <li>
4127 <span class="entry_type_enum_name">OFF</span>
4128 <span class="entry_type_enum_notes">No geometric correction is
4129 applied</span>
4130 </li>
4131 <li>
4132 <span class="entry_type_enum_name">FAST</span>
4133 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4134 bayer output</span>
4135 </li>
4136 <li>
4137 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4138 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4139 quality</span>
4140 </li>
4141 </ul>
4142
4143 </td> <!-- entry_type -->
4144
4145 <td class="entry_description">
4146 Operating mode of geometric
4147 correction
4148 </td>
4149
4150 <td class="entry_units">
4151 </td>
4152
4153 <td class="entry_range">
4154 </td>
4155
4156 <td class="entry_notes">
4157 </td>
4158
4159 <td class="entry_tags">
4160 </td>
4161
4162 </tr> <!-- end of entry -->
4163
4164
4165 <tr class="entry" id="controls_android.geometric.strength">
4166 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4167 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004168 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004169
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004170 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004171
4172
4173 </td> <!-- entry_type -->
4174
4175 <td class="entry_description">
4176 Control the amount of shading correction
4177 applied to the images
4178 </td>
4179
4180 <td class="entry_units">
4181 unitless: 1-10; 10 is full shading
4182 compensation
4183 </td>
4184
4185 <td class="entry_range">
4186 </td>
4187
4188 <td class="entry_notes">
4189 </td>
4190
4191 <td class="entry_tags">
4192 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004193 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004194 </ul>
4195 </td>
4196
4197 </tr> <!-- end of entry -->
4198
4199
4200
4201 <!-- end of kind -->
4202 </tbody>
4203
4204 <!-- end of section -->
4205 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4206
4207
4208 <tr><td colspan="7" class="kind">controls</td></tr>
4209
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004210 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004211 <tr>
4212 <th class="th_name">Property Name</th>
4213 <th class="th_type">Type</th>
4214 <th class="th_description">Description</th>
4215 <th class="th_units">Units</th>
4216 <th class="th_range">Range</th>
4217 <th class="th_notes">Notes</th>
4218 <th class="th_tags">Tags</th>
4219 </tr>
4220 </thead>
4221
4222 <tbody>
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233 <tr class="entry" id="controls_android.hotPixel.mode">
4234 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004236 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004238 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004239
4240 <ul class="entry_type_enum">
4241 <li>
4242 <span class="entry_type_enum_name">OFF</span>
4243 <span class="entry_type_enum_notes">No hot pixel correction can be
4244 applied</span>
4245 </li>
4246 <li>
4247 <span class="entry_type_enum_name">FAST</span>
4248 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4249 Bayer output</span>
4250 </li>
4251 <li>
4252 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4253 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4254 quality</span>
4255 </li>
4256 </ul>
4257
4258 </td> <!-- entry_type -->
4259
4260 <td class="entry_description">
4261 Set operational mode for hot pixel
4262 correction
4263 </td>
4264
4265 <td class="entry_units">
4266 </td>
4267
4268 <td class="entry_range">
4269 </td>
4270
4271 <td class="entry_notes">
4272 </td>
4273
4274 <td class="entry_tags">
4275 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004276 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004277 </ul>
4278 </td>
4279
4280 </tr> <!-- end of entry -->
4281
4282
4283
4284 <!-- end of kind -->
4285 </tbody>
4286 <tr><td colspan="7" class="kind">static</td></tr>
4287
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004288 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004289 <tr>
4290 <th class="th_name">Property Name</th>
4291 <th class="th_type">Type</th>
4292 <th class="th_description">Description</th>
4293 <th class="th_units">Units</th>
4294 <th class="th_range">Range</th>
4295 <th class="th_notes">Notes</th>
4296 <th class="th_tags">Tags</th>
4297 </tr>
4298 </thead>
4299
4300 <tbody>
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313 <tr class="entry" id="static_android.hotPixel.info.map">
4314 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4315 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004316 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004317 <span class="entry_type_container">x</span>
4318
4319 <span class="entry_type_array">
4320 2 x n
4321 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004322 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4324
4325
4326 </td> <!-- entry_type -->
4327
4328 <td class="entry_description">
4329 Location of hot/<wbr>defective pixels on
4330 sensor
4331 </td>
4332
4333 <td class="entry_units">
4334 </td>
4335
4336 <td class="entry_range">
4337 </td>
4338
4339 <td class="entry_notes">
4340 </td>
4341
4342 <td class="entry_tags">
4343 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004344 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004345 </ul>
4346 </td>
4347
4348 </tr> <!-- end of entry -->
4349
4350
4351
4352
4353
4354
4355 <!-- end of kind -->
4356 </tbody>
4357 <tr><td colspan="7" class="kind">dynamic</td></tr>
4358
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004359 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004360 <tr>
4361 <th class="th_name">Property Name</th>
4362 <th class="th_type">Type</th>
4363 <th class="th_description">Description</th>
4364 <th class="th_units">Units</th>
4365 <th class="th_range">Range</th>
4366 <th class="th_notes">Notes</th>
4367 <th class="th_tags">Tags</th>
4368 </tr>
4369 </thead>
4370
4371 <tbody>
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382 <tr class="entry" id="dynamic_android.hotPixel.mode">
4383 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4384 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004385 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004386
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004387 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004388
4389 <ul class="entry_type_enum">
4390 <li>
4391 <span class="entry_type_enum_name">OFF</span>
4392 <span class="entry_type_enum_notes">No hot pixel correction can be
4393 applied</span>
4394 </li>
4395 <li>
4396 <span class="entry_type_enum_name">FAST</span>
4397 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4398 Bayer output</span>
4399 </li>
4400 <li>
4401 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4402 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4403 quality</span>
4404 </li>
4405 </ul>
4406
4407 </td> <!-- entry_type -->
4408
4409 <td class="entry_description">
4410 Set operational mode for hot pixel
4411 correction
4412 </td>
4413
4414 <td class="entry_units">
4415 </td>
4416
4417 <td class="entry_range">
4418 </td>
4419
4420 <td class="entry_notes">
4421 </td>
4422
4423 <td class="entry_tags">
4424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004426 </ul>
4427 </td>
4428
4429 </tr> <!-- end of entry -->
4430
4431
4432
4433 <!-- end of kind -->
4434 </tbody>
4435
4436 <!-- end of section -->
4437 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4438
4439
4440 <tr><td colspan="7" class="kind">controls</td></tr>
4441
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004442 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004443 <tr>
4444 <th class="th_name">Property Name</th>
4445 <th class="th_type">Type</th>
4446 <th class="th_description">Description</th>
4447 <th class="th_units">Units</th>
4448 <th class="th_range">Range</th>
4449 <th class="th_notes">Notes</th>
4450 <th class="th_tags">Tags</th>
4451 </tr>
4452 </thead>
4453
4454 <tbody>
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4466 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4467 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004468 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004469 <span class="entry_type_container">x</span>
4470
4471 <span class="entry_type_array">
4472 3
4473 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004474 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004475 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4476
4477
4478 </td> <!-- entry_type -->
4479
4480 <td class="entry_description">
4481 GPS coordinates to include in output JPEG
4482 EXIF
4483 </td>
4484
4485 <td class="entry_units">
4486 </td>
4487
4488 <td class="entry_range">
4489 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4490 </td>
4491
4492 <td class="entry_notes">
4493 </td>
4494
4495 <td class="entry_tags">
4496 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004497 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004498 </ul>
4499 </td>
4500
4501 </tr> <!-- end of entry -->
4502
4503
4504 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4505 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4506 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004507 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004508
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004509 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004510
4511
4512 </td> <!-- entry_type -->
4513
4514 <td class="entry_description">
4515 32 characters describing GPS algorithm to
4516 include in EXIF
4517 </td>
4518
4519 <td class="entry_units">
4520 UTF-8 null-terminated string
4521 </td>
4522
4523 <td class="entry_range">
4524 </td>
4525
4526 <td class="entry_notes">
4527 </td>
4528
4529 <td class="entry_tags">
4530 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004531 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004532 </ul>
4533 </td>
4534
4535 </tr> <!-- end of entry -->
4536
4537
4538 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4539 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4540 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004541 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004542
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004543 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004544
4545
4546 </td> <!-- entry_type -->
4547
4548 <td class="entry_description">
4549 Time GPS fix was made to include in
4550 EXIF
4551 </td>
4552
4553 <td class="entry_units">
4554 UTC in seconds since January 1,<wbr> 1970
4555 </td>
4556
4557 <td class="entry_range">
4558 </td>
4559
4560 <td class="entry_notes">
4561 </td>
4562
4563 <td class="entry_tags">
4564 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004565 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004566 </ul>
4567 </td>
4568
4569 </tr> <!-- end of entry -->
4570
4571
4572 <tr class="entry" id="controls_android.jpeg.orientation">
4573 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4574 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004575 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004576
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004577 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004578
4579
4580 </td> <!-- entry_type -->
4581
4582 <td class="entry_description">
4583 Orientation of JPEG image to
4584 write
4585 </td>
4586
4587 <td class="entry_units">
4588 Degrees in multiples of 90
4589 </td>
4590
4591 <td class="entry_range">
4592 0,<wbr> 90,<wbr> 180,<wbr> 270
4593 </td>
4594
4595 <td class="entry_notes">
4596 </td>
4597
4598 <td class="entry_tags">
4599 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004600 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004601 </ul>
4602 </td>
4603
4604 </tr> <!-- end of entry -->
4605
4606
4607 <tr class="entry" id="controls_android.jpeg.quality">
4608 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004610 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004611
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004612 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004613
4614
4615 </td> <!-- entry_type -->
4616
4617 <td class="entry_description">
4618 Compression quality of the final JPEG
4619 image
4620 </td>
4621
4622 <td class="entry_units">
4623 </td>
4624
4625 <td class="entry_range">
4626 1-100; larger is higher quality
4627 </td>
4628
4629 <td class="entry_notes">
4630 85-95 is typical usage range
4631 </td>
4632
4633 <td class="entry_tags">
4634 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004635 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004636 </ul>
4637 </td>
4638
4639 </tr> <!-- end of entry -->
4640
4641
4642 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4643 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4644 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004645 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004646
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004647 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004648
4649
4650 </td> <!-- entry_type -->
4651
4652 <td class="entry_description">
4653 Compression quality of JPEG
4654 thumbnail
4655 </td>
4656
4657 <td class="entry_units">
4658 </td>
4659
4660 <td class="entry_range">
4661 1-100; larger is higher quality
4662 </td>
4663
4664 <td class="entry_notes">
4665 </td>
4666
4667 <td class="entry_tags">
4668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004670 </ul>
4671 </td>
4672
4673 </tr> <!-- end of entry -->
4674
4675
4676 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4677 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004679 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004680 <span class="entry_type_container">x</span>
4681
4682 <span class="entry_type_array">
4683 2
4684 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004685 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686
4687
4688 </td> <!-- entry_type -->
4689
4690 <td class="entry_description">
4691 Resolution of embedded JPEG
4692 thumbnail
4693 </td>
4694
4695 <td class="entry_units">
4696 </td>
4697
4698 <td class="entry_range">
4699 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4700 </td>
4701
4702 <td class="entry_notes">
4703 </td>
4704
4705 <td class="entry_tags">
4706 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004707 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004708 </ul>
4709 </td>
4710
4711 </tr> <!-- end of entry -->
4712
4713
4714
4715 <!-- end of kind -->
4716 </tbody>
4717 <tr><td colspan="7" class="kind">static</td></tr>
4718
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004719 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004720 <tr>
4721 <th class="th_name">Property Name</th>
4722 <th class="th_type">Type</th>
4723 <th class="th_description">Description</th>
4724 <th class="th_units">Units</th>
4725 <th class="th_range">Range</th>
4726 <th class="th_notes">Notes</th>
4727 <th class="th_tags">Tags</th>
4728 </tr>
4729 </thead>
4730
4731 <tbody>
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4743 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4744 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004745 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004746 <span class="entry_type_container">x</span>
4747
4748 <span class="entry_type_array">
4749 2 x n
4750 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004751 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752 <div class="entry_type_notes">list of resolution pairs</div>
4753
4754
4755 </td> <!-- entry_type -->
4756
4757 <td class="entry_description">
4758 Supported resolutions for the JPEG
4759 thumbnail
4760 </td>
4761
4762 <td class="entry_units">
4763 </td>
4764
4765 <td class="entry_range">
4766 Must include at least one valid resolution,<wbr> plus
4767 (0,<wbr>0) for no thumbnail generation
4768 </td>
4769
4770 <td class="entry_notes">
4771 </td>
4772
4773 <td class="entry_tags">
4774 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004775 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004776 </ul>
4777 </td>
4778
4779 </tr> <!-- end of entry -->
4780
4781
4782 <tr class="entry" id="static_android.jpeg.maxSize">
4783 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4784 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004785 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004786
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004787 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004788
4789
4790 </td> <!-- entry_type -->
4791
4792 <td class="entry_description">
4793 Maximum size in bytes for the compressed
4794 JPEG buffer
4795 </td>
4796
4797 <td class="entry_units">
4798 </td>
4799
4800 <td class="entry_range">
4801 Must be large enough to fit any JPEG produced by
4802 the camera
4803 </td>
4804
4805 <td class="entry_notes">
4806 This is used for sizing the gralloc buffers for
4807 JPEG
4808 </td>
4809
4810 <td class="entry_tags">
4811 </td>
4812
4813 </tr> <!-- end of entry -->
4814
4815
4816
4817 <!-- end of kind -->
4818 </tbody>
4819 <tr><td colspan="7" class="kind">dynamic</td></tr>
4820
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004821 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004822 <tr>
4823 <th class="th_name">Property Name</th>
4824 <th class="th_type">Type</th>
4825 <th class="th_description">Description</th>
4826 <th class="th_units">Units</th>
4827 <th class="th_range">Range</th>
4828 <th class="th_notes">Notes</th>
4829 <th class="th_tags">Tags</th>
4830 </tr>
4831 </thead>
4832
4833 <tbody>
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4845 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4846 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004847 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004848 <span class="entry_type_container">x</span>
4849
4850 <span class="entry_type_array">
4851 3
4852 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004853 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4855
4856
4857 </td> <!-- entry_type -->
4858
4859 <td class="entry_description">
4860 GPS coordinates to include in output JPEG
4861 EXIF
4862 </td>
4863
4864 <td class="entry_units">
4865 </td>
4866
4867 <td class="entry_range">
4868 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4869 </td>
4870
4871 <td class="entry_notes">
4872 </td>
4873
4874 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004875 <ul class="entry_tags">
4876 <li><a href="#tag_BC">BC</a></li>
4877 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004878 </td>
4879
4880 </tr> <!-- end of entry -->
4881
4882
4883 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4884 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4885 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004886 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004887
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004888 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004889
4890
4891 </td> <!-- entry_type -->
4892
4893 <td class="entry_description">
4894 32 characters describing GPS algorithm to
4895 include in EXIF
4896 </td>
4897
4898 <td class="entry_units">
4899 UTF-8 null-terminated string
4900 </td>
4901
4902 <td class="entry_range">
4903 </td>
4904
4905 <td class="entry_notes">
4906 </td>
4907
4908 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004909 <ul class="entry_tags">
4910 <li><a href="#tag_BC">BC</a></li>
4911 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004912 </td>
4913
4914 </tr> <!-- end of entry -->
4915
4916
4917 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4918 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4919 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004920 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004921
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004922 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004923
4924
4925 </td> <!-- entry_type -->
4926
4927 <td class="entry_description">
4928 Time GPS fix was made to include in
4929 EXIF
4930 </td>
4931
4932 <td class="entry_units">
4933 UTC in seconds since January 1,<wbr> 1970
4934 </td>
4935
4936 <td class="entry_range">
4937 </td>
4938
4939 <td class="entry_notes">
4940 </td>
4941
4942 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004943 <ul class="entry_tags">
4944 <li><a href="#tag_BC">BC</a></li>
4945 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004946 </td>
4947
4948 </tr> <!-- end of entry -->
4949
4950
4951 <tr class="entry" id="dynamic_android.jpeg.orientation">
4952 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4953 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004954 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004955
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004956 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004957
4958
4959 </td> <!-- entry_type -->
4960
4961 <td class="entry_description">
4962 Orientation of JPEG image to
4963 write
4964 </td>
4965
4966 <td class="entry_units">
4967 Degrees in multiples of 90
4968 </td>
4969
4970 <td class="entry_range">
4971 0,<wbr> 90,<wbr> 180,<wbr> 270
4972 </td>
4973
4974 <td class="entry_notes">
4975 </td>
4976
4977 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004978 <ul class="entry_tags">
4979 <li><a href="#tag_BC">BC</a></li>
4980 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004981 </td>
4982
4983 </tr> <!-- end of entry -->
4984
4985
4986 <tr class="entry" id="dynamic_android.jpeg.quality">
4987 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4988 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004989 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004990
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004991 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004992
4993
4994 </td> <!-- entry_type -->
4995
4996 <td class="entry_description">
4997 Compression quality of the final JPEG
4998 image
4999 </td>
5000
5001 <td class="entry_units">
5002 </td>
5003
5004 <td class="entry_range">
5005 1-100; larger is higher quality
5006 </td>
5007
5008 <td class="entry_notes">
5009 85-95 is typical usage range
5010 </td>
5011
5012 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005013 <ul class="entry_tags">
5014 <li><a href="#tag_BC">BC</a></li>
5015 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005016 </td>
5017
5018 </tr> <!-- end of entry -->
5019
5020
5021 <tr class="entry" id="dynamic_android.jpeg.size">
5022 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005024 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005025
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005026 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005027
5028
5029 </td> <!-- entry_type -->
5030
5031 <td class="entry_description">
5032 The size of the compressed JPEG image,<wbr> in
5033 bytes
5034 </td>
5035
5036 <td class="entry_units">
5037 </td>
5038
5039 <td class="entry_range">
5040 >= 0
5041 </td>
5042
5043 <td class="entry_notes">
5044 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005045 this must be 0.<wbr>
5046<br>
5047<br> Otherwise,<wbr> this describes the real size of the compressed
5048 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5049 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5050 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5051 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5052 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </td>
5054
5055 <td class="entry_tags">
5056 </td>
5057
5058 </tr> <!-- end of entry -->
5059
5060
5061 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5062 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005064 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005065
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005066 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005067
5068
5069 </td> <!-- entry_type -->
5070
5071 <td class="entry_description">
5072 Compression quality of JPEG
5073 thumbnail
5074 </td>
5075
5076 <td class="entry_units">
5077 </td>
5078
5079 <td class="entry_range">
5080 1-100; larger is higher quality
5081 </td>
5082
5083 <td class="entry_notes">
5084 </td>
5085
5086 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005087 <ul class="entry_tags">
5088 <li><a href="#tag_BC">BC</a></li>
5089 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005090 </td>
5091
5092 </tr> <!-- end of entry -->
5093
5094
5095 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5096 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5097 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005098 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 <span class="entry_type_container">x</span>
5100
5101 <span class="entry_type_array">
5102 2
5103 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005104 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105
5106
5107 </td> <!-- entry_type -->
5108
5109 <td class="entry_description">
5110 Resolution of embedded JPEG
5111 thumbnail
5112 </td>
5113
5114 <td class="entry_units">
5115 </td>
5116
5117 <td class="entry_range">
5118 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5119 </td>
5120
5121 <td class="entry_notes">
5122 </td>
5123
5124 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005125 <ul class="entry_tags">
5126 <li><a href="#tag_BC">BC</a></li>
5127 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005128 </td>
5129
5130 </tr> <!-- end of entry -->
5131
5132
5133
5134 <!-- end of kind -->
5135 </tbody>
5136
5137 <!-- end of section -->
5138 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5139
5140
5141 <tr><td colspan="7" class="kind">controls</td></tr>
5142
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005143 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005144 <tr>
5145 <th class="th_name">Property Name</th>
5146 <th class="th_type">Type</th>
5147 <th class="th_description">Description</th>
5148 <th class="th_units">Units</th>
5149 <th class="th_range">Range</th>
5150 <th class="th_notes">Notes</th>
5151 <th class="th_tags">Tags</th>
5152 </tr>
5153 </thead>
5154
5155 <tbody>
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166 <tr class="entry" id="controls_android.lens.aperture">
5167 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5168 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005169 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005170
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005171 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005172
5173
5174 </td> <!-- entry_type -->
5175
5176 <td class="entry_description">
5177 Size of the lens aperture
5178 </td>
5179
5180 <td class="entry_units">
5181 f-number (f/<wbr>NNN)
5182 </td>
5183
5184 <td class="entry_range">
5185 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5186 </td>
5187
5188 <td class="entry_notes">
5189 Will not be supported on most devices.<wbr> Can only
5190 pick from supported list
5191 </td>
5192
5193 <td class="entry_tags">
5194 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005195 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196 </ul>
5197 </td>
5198
5199 </tr> <!-- end of entry -->
5200
5201
5202 <tr class="entry" id="controls_android.lens.filterDensity">
5203 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5204 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005205 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005206
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005207 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005208
5209
5210 </td> <!-- entry_type -->
5211
5212 <td class="entry_description">
5213 State of lens neutral density
5214 filter(s)
5215 </td>
5216
5217 <td class="entry_units">
5218 number of stops of filtering
5219 </td>
5220
5221 <td class="entry_range">
5222 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5223 </td>
5224
5225 <td class="entry_notes">
5226 Will not be supported on most devices.<wbr> Can only
5227 pick from supported list
5228 </td>
5229
5230 <td class="entry_tags">
5231 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005232 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005233 </ul>
5234 </td>
5235
5236 </tr> <!-- end of entry -->
5237
5238
5239 <tr class="entry" id="controls_android.lens.focalLength">
5240 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005242 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005244 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005245
5246
5247 </td> <!-- entry_type -->
5248
5249 <td class="entry_description">
5250 Lens optical zoom setting
5251 </td>
5252
5253 <td class="entry_units">
5254 focal length in mm
5255 </td>
5256
5257 <td class="entry_range">
5258 > 0
5259 </td>
5260
5261 <td class="entry_notes">
5262 Will not be supported on most devices.<wbr>
5263 </td>
5264
5265 <td class="entry_tags">
5266 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005267 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005268 </ul>
5269 </td>
5270
5271 </tr> <!-- end of entry -->
5272
5273
5274 <tr class="entry" id="controls_android.lens.focusDistance">
5275 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5276 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005277 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005278
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005279 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005280
5281
5282 </td> <!-- entry_type -->
5283
5284 <td class="entry_description">
5285 Distance to plane of sharpest focus,<wbr>
5286 measured from frontmost surface of the lens
5287 </td>
5288
5289 <td class="entry_units">
5290 diopters (1/<wbr>m)
5291 </td>
5292
5293 <td class="entry_range">
5294 >= 0
5295 </td>
5296
5297 <td class="entry_notes">
5298 0 = infinity focus.<wbr> Used value should be clamped
5299 to (0,<wbr>minimum focus distance)
5300 </td>
5301
5302 <td class="entry_tags">
5303 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005304 <li><a href="#tag_BC">BC</a></li>
5305 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005306 </ul>
5307 </td>
5308
5309 </tr> <!-- end of entry -->
5310
5311
5312 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5313 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5314 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005315 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005316
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005317 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005318
5319 <ul class="entry_type_enum">
5320 <li>
5321 <span class="entry_type_enum_name">OFF</span>
5322 </li>
5323 <li>
5324 <span class="entry_type_enum_name">ON</span>
5325 <span class="entry_type_enum_optional">optional</span>
5326 </li>
5327 </ul>
5328
5329 </td> <!-- entry_type -->
5330
5331 <td class="entry_description">
5332 Whether optical image stabilization is
5333 enabled.<wbr>
5334 </td>
5335
5336 <td class="entry_units">
5337 </td>
5338
5339 <td class="entry_range">
5340 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5341 </td>
5342
5343 <td class="entry_notes">
5344 Will not be supported on most devices.<wbr>
5345 </td>
5346
5347 <td class="entry_tags">
5348 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005349 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005350 </ul>
5351 </td>
5352
5353 </tr> <!-- end of entry -->
5354
5355
5356
5357 <!-- end of kind -->
5358 </tbody>
5359 <tr><td colspan="7" class="kind">static</td></tr>
5360
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005361 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005362 <tr>
5363 <th class="th_name">Property Name</th>
5364 <th class="th_type">Type</th>
5365 <th class="th_description">Description</th>
5366 <th class="th_units">Units</th>
5367 <th class="th_range">Range</th>
5368 <th class="th_notes">Notes</th>
5369 <th class="th_tags">Tags</th>
5370 </tr>
5371 </thead>
5372
5373 <tbody>
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386 <tr class="entry" id="static_android.lens.info.availableApertures">
5387 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5388 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005389 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005390 <span class="entry_type_container">x</span>
5391
5392 <span class="entry_type_array">
5393 n
5394 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005395 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005396
5397
5398 </td> <!-- entry_type -->
5399
5400 <td class="entry_description">
5401 List of supported aperture
5402 values
5403 </td>
5404
5405 <td class="entry_units">
5406 </td>
5407
5408 <td class="entry_range">
5409 one entry required,<wbr> > 0
5410 </td>
5411
5412 <td class="entry_notes">
5413 If variable aperture not available,<wbr> only setting
5414 should be for the fixed aperture
5415 </td>
5416
5417 <td class="entry_tags">
5418 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005419 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005420 </ul>
5421 </td>
5422
5423 </tr> <!-- end of entry -->
5424
5425
5426 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5427 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5428 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005429 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005430 <span class="entry_type_container">x</span>
5431
5432 <span class="entry_type_array">
5433 n
5434 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005435 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436
5437
5438 </td> <!-- entry_type -->
5439
5440 <td class="entry_description">
5441 List of supported ND filter
5442 values
5443 </td>
5444
5445 <td class="entry_units">
5446 </td>
5447
5448 <td class="entry_range">
5449 one entry required,<wbr> >= 0
5450 </td>
5451
5452 <td class="entry_notes">
5453 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5454 lists the available exposure index values for dimming
5455 (2 would mean the filter is set to reduce incoming
5456 light by two stops)
5457 </td>
5458
5459 <td class="entry_tags">
5460 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005461 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005462 </ul>
5463 </td>
5464
5465 </tr> <!-- end of entry -->
5466
5467
5468 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5469 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5470 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005471 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005472 <span class="entry_type_container">x</span>
5473
5474 <span class="entry_type_array">
5475 n
5476 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005477 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <div class="entry_type_notes">the list of available focal lengths</div>
5479
5480
5481 </td> <!-- entry_type -->
5482
5483 <td class="entry_description">
5484 If fitted with optical zoom,<wbr> what focal
5485 lengths are available.<wbr> If not,<wbr> the static focal
5486 length
5487 </td>
5488
5489 <td class="entry_units">
5490 </td>
5491
5492 <td class="entry_range">
5493 > 0
5494 </td>
5495
5496 <td class="entry_notes">
5497 If optical zoom not supported,<wbr> only one value
5498 should be reported
5499 </td>
5500
5501 <td class="entry_tags">
5502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005503 <li><a href="#tag_BC">BC</a></li>
5504 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005505 </ul>
5506 </td>
5507
5508 </tr> <!-- end of entry -->
5509
5510
5511 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5512 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5513 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005514 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005515 <span class="entry_type_container">x</span>
5516
5517 <span class="entry_type_array">
5518 n
5519 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005520 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 <div class="entry_type_notes">list of enums</div>
5522
5523
5524 </td> <!-- entry_type -->
5525
5526 <td class="entry_description">
5527 List of supported optical image
5528 stabilization modes
5529 </td>
5530
5531 <td class="entry_units">
5532 </td>
5533
5534 <td class="entry_range">
5535 </td>
5536
5537 <td class="entry_notes">
5538 </td>
5539
5540 <td class="entry_tags">
5541 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005542 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005543 </ul>
5544 </td>
5545
5546 </tr> <!-- end of entry -->
5547
5548
5549 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5550 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5551 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005552 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005553 <span class="entry_type_container">x</span>
5554
5555 <span class="entry_type_array">
5556 2 x 3 x n x m
5557 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005558 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <div class="entry_type_notes">2D array of destination coordinate pairs for uniform grid points in source image,<wbr> per color channel.<wbr> Size in the range of 2x3x40x30</div>
5560
5561
5562 </td> <!-- entry_type -->
5563
5564 <td class="entry_description">
5565 A low-resolution map for correction of
5566 geometric distortions and chromatic aberrations,<wbr> per
5567 color channel
5568 </td>
5569
5570 <td class="entry_units">
5571 </td>
5572
5573 <td class="entry_range">
5574 N,<wbr> M >= 2
5575 </td>
5576
5577 <td class="entry_notes">
5578 [DNG wants a function instead].<wbr> What's easiest
5579 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5580 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5581 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5582 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5583 </td>
5584
5585 <td class="entry_tags">
5586 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005587 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005588 </ul>
5589 </td>
5590
5591 </tr> <!-- end of entry -->
5592
5593
5594 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5595 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5596 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005597 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005598 <span class="entry_type_container">x</span>
5599
5600 <span class="entry_type_array">
5601 2
5602 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005603 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 <div class="entry_type_notes">width and height of geometric correction map</div>
5605
5606
5607 </td> <!-- entry_type -->
5608
5609 <td class="entry_description">
5610 Dimensions of geometric correction
5611 map
5612 </td>
5613
5614 <td class="entry_units">
5615 </td>
5616
5617 <td class="entry_range">
5618 Both values >= 2
5619 </td>
5620
5621 <td class="entry_notes">
5622 </td>
5623
5624 <td class="entry_tags">
5625 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005626 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627 </ul>
5628 </td>
5629
5630 </tr> <!-- end of entry -->
5631
5632
5633 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5634 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5635 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005636 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005637
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005638 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005639
5640
5641 </td> <!-- entry_type -->
5642
5643 <td class="entry_description">
5644 Hyperfocal distance for this lens; set to
5645 0 if fixed focus
5646 </td>
5647
5648 <td class="entry_units">
5649 diopters
5650 </td>
5651
5652 <td class="entry_range">
5653 >= 0
5654 </td>
5655
5656 <td class="entry_notes">
5657 The hyperfocal distance is used for the old
5658 API's 'fixed' setting
5659 </td>
5660
5661 <td class="entry_tags">
5662 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005663 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664 </ul>
5665 </td>
5666
5667 </tr> <!-- end of entry -->
5668
5669
5670 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5671 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5672 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005673 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005674
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005675 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005676
5677
5678 </td> <!-- entry_type -->
5679
5680 <td class="entry_description">
5681 Shortest distance from frontmost surface
5682 of the lens that can be focused correctly
5683 </td>
5684
5685 <td class="entry_units">
5686 diopters
5687 </td>
5688
5689 <td class="entry_range">
5690 >= 0
5691 </td>
5692
5693 <td class="entry_notes">
5694 If the lens is fixed-focus,<wbr> this should be
5695 0
5696 </td>
5697
5698 <td class="entry_tags">
5699 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005700 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005701 </ul>
5702 </td>
5703
5704 </tr> <!-- end of entry -->
5705
5706
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005707 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5708 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5709 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005710 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005711 <span class="entry_type_container">x</span>
5712
5713 <span class="entry_type_array">
5714 2
5715 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005716 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005717 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005718
5719
5720 </td> <!-- entry_type -->
5721
5722 <td class="entry_description">
5723 Dimensions of lens shading
5724 map
5725 </td>
5726
5727 <td class="entry_units">
5728 </td>
5729
5730 <td class="entry_range">
5731 Both values >= 1
5732 </td>
5733
5734 <td class="entry_notes">
5735 </td>
5736
5737 <td class="entry_tags">
5738 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005739 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005740 </ul>
5741 </td>
5742
5743 </tr> <!-- end of entry -->
5744
5745
5746
5747
5748
5749 <tr class="entry" id="static_android.lens.facing">
5750 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005752 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005753
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005754 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005755
5756 <ul class="entry_type_enum">
5757 <li>
5758 <span class="entry_type_enum_name">FRONT</span>
5759 </li>
5760 <li>
5761 <span class="entry_type_enum_name">BACK</span>
5762 </li>
5763 </ul>
5764
5765 </td> <!-- entry_type -->
5766
5767 <td class="entry_description">
5768 Direction the camera faces relative to
5769 device screen
5770 </td>
5771
5772 <td class="entry_units">
5773 </td>
5774
5775 <td class="entry_range">
5776 </td>
5777
5778 <td class="entry_notes">
5779 </td>
5780
5781 <td class="entry_tags">
5782 </td>
5783
5784 </tr> <!-- end of entry -->
5785
5786
5787 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5788 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5789 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005790 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005791 <span class="entry_type_container">x</span>
5792
5793 <span class="entry_type_array">
5794 2
5795 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005796 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <div class="entry_type_notes">degrees.<wbr> First defines the angle of separation between the perpendicular to the screen and the camera optical axis.<wbr> The second then defines the clockwise rotation of the optical axis from native device up.<wbr></div>
5798
5799
5800 </td> <!-- entry_type -->
5801
5802 <td class="entry_description">
5803 Relative angle of camera optical axis to the
5804 perpendicular axis from the display
5805 </td>
5806
5807 <td class="entry_units">
5808 </td>
5809
5810 <td class="entry_range">
5811 [0-90) for first angle,<wbr> [0-360) for second
5812 </td>
5813
5814 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005815 Examples:
5816<br>
5817<br> (0,<wbr>0) means that the camera optical axis
5818 is perpendicular to the display surface;
5819<br>
5820<br> (45,<wbr>0) means that the camera points 45 degrees up when
5821 device is held upright;
5822<br>
5823<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5824 the device is held upright.<wbr>
5825<br>
5826<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827 direction
5828 </td>
5829
5830 <td class="entry_tags">
5831 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005832 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 </ul>
5834 </td>
5835
5836 </tr> <!-- end of entry -->
5837
5838
5839 <tr class="entry" id="static_android.lens.position">
5840 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5841 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005842 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005843 <span class="entry_type_container">x</span>
5844
5845 <span class="entry_type_array">
5846 3, location in mm, in the sensor coordinate
5847 system
5848 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005849 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005850
5851
5852 </td> <!-- entry_type -->
5853
5854 <td class="entry_description">
5855 Coordinates of camera optical axis on
5856 device
5857 </td>
5858
5859 <td class="entry_units">
5860 </td>
5861
5862 <td class="entry_range">
5863 </td>
5864
5865 <td class="entry_notes">
5866 </td>
5867
5868 <td class="entry_tags">
5869 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005870 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005871 </ul>
5872 </td>
5873
5874 </tr> <!-- end of entry -->
5875
5876
5877
5878 <!-- end of kind -->
5879 </tbody>
5880 <tr><td colspan="7" class="kind">dynamic</td></tr>
5881
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005882 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005883 <tr>
5884 <th class="th_name">Property Name</th>
5885 <th class="th_type">Type</th>
5886 <th class="th_description">Description</th>
5887 <th class="th_units">Units</th>
5888 <th class="th_range">Range</th>
5889 <th class="th_notes">Notes</th>
5890 <th class="th_tags">Tags</th>
5891 </tr>
5892 </thead>
5893
5894 <tbody>
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905 <tr class="entry" id="dynamic_android.lens.aperture">
5906 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005908 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005909
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005910 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005911
5912
5913 </td> <!-- entry_type -->
5914
5915 <td class="entry_description">
5916 Size of the lens aperture
5917 </td>
5918
5919 <td class="entry_units">
5920 f-number (f/<wbr>NNN)
5921 </td>
5922
5923 <td class="entry_range">
5924 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5925 </td>
5926
5927 <td class="entry_notes">
5928 Will not be supported on most devices.<wbr> Can only
5929 pick from supported list
5930 </td>
5931
5932 <td class="entry_tags">
5933 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005934 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005935 </ul>
5936 </td>
5937
5938 </tr> <!-- end of entry -->
5939
5940
5941 <tr class="entry" id="dynamic_android.lens.filterDensity">
5942 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5943 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005944 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005945
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005947
5948
5949 </td> <!-- entry_type -->
5950
5951 <td class="entry_description">
5952 State of lens neutral density
5953 filter(s)
5954 </td>
5955
5956 <td class="entry_units">
5957 number of stops of filtering
5958 </td>
5959
5960 <td class="entry_range">
5961 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5962 </td>
5963
5964 <td class="entry_notes">
5965 Will not be supported on most devices.<wbr> Can only
5966 pick from supported list
5967 </td>
5968
5969 <td class="entry_tags">
5970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005971 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005972 </ul>
5973 </td>
5974
5975 </tr> <!-- end of entry -->
5976
5977
5978 <tr class="entry" id="dynamic_android.lens.focalLength">
5979 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005981 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005982
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005983 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005984
5985
5986 </td> <!-- entry_type -->
5987
5988 <td class="entry_description">
5989 Lens optical zoom setting
5990 </td>
5991
5992 <td class="entry_units">
5993 focal length in mm
5994 </td>
5995
5996 <td class="entry_range">
5997 > 0
5998 </td>
5999
6000 <td class="entry_notes">
6001 Will not be supported on most devices.<wbr>
6002 </td>
6003
6004 <td class="entry_tags">
6005 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006006 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006007 </ul>
6008 </td>
6009
6010 </tr> <!-- end of entry -->
6011
6012
6013 <tr class="entry" id="dynamic_android.lens.focusDistance">
6014 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006016 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006017
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006018 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006019
6020
6021 </td> <!-- entry_type -->
6022
6023 <td class="entry_description">
6024 Distance to plane of sharpest focus,<wbr>
6025 measured from frontmost surface of the lens
6026 </td>
6027
6028 <td class="entry_units">
6029 diopters (1/<wbr>m)
6030 </td>
6031
6032 <td class="entry_range">
6033 >= 0
6034 </td>
6035
6036 <td class="entry_notes">
6037 Should be zero for fixed-focus cameras
6038 </td>
6039
6040 <td class="entry_tags">
6041 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006042 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006043 </ul>
6044 </td>
6045
6046 </tr> <!-- end of entry -->
6047
6048
6049 <tr class="entry" id="dynamic_android.lens.focusRange">
6050 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006052 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006053
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006054 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006055
6056
6057 </td> <!-- entry_type -->
6058
6059 <td class="entry_description">
6060 The range of scene distances that are in
6061 sharp focus (depth of field)
6062 </td>
6063
6064 <td class="entry_units">
6065 pair of focus distances in diopters: (near,<wbr>
6066 far)
6067 </td>
6068
6069 <td class="entry_range">
6070 >=0
6071 </td>
6072
6073 <td class="entry_notes">
6074 If variable focus not supported,<wbr> can still report
6075 fixed depth of field range
6076 </td>
6077
6078 <td class="entry_tags">
6079 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006080 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006081 </ul>
6082 </td>
6083
6084 </tr> <!-- end of entry -->
6085
6086
6087 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6088 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6089 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006090 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006091
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006092 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006093
6094 <ul class="entry_type_enum">
6095 <li>
6096 <span class="entry_type_enum_name">OFF</span>
6097 </li>
6098 <li>
6099 <span class="entry_type_enum_name">ON</span>
6100 <span class="entry_type_enum_optional">optional</span>
6101 </li>
6102 </ul>
6103
6104 </td> <!-- entry_type -->
6105
6106 <td class="entry_description">
6107 Whether optical image stabilization is
6108 enabled.<wbr>
6109 </td>
6110
6111 <td class="entry_units">
6112 </td>
6113
6114 <td class="entry_range">
6115 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6116 </td>
6117
6118 <td class="entry_notes">
6119 Will not be supported on most devices.<wbr>
6120 </td>
6121
6122 <td class="entry_tags">
6123 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006124 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006125 </ul>
6126 </td>
6127
6128 </tr> <!-- end of entry -->
6129
6130
6131 <tr class="entry" id="dynamic_android.lens.state">
6132 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006134 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006135
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006136 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006137
6138 <ul class="entry_type_enum">
6139 <li>
6140 <span class="entry_type_enum_name">STATIONARY</span>
6141 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006142 <li>
6143 <span class="entry_type_enum_name">MOVING</span>
6144 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006145 </ul>
6146
6147 </td> <!-- entry_type -->
6148
6149 <td class="entry_description">
6150 Current lens status
6151 </td>
6152
6153 <td class="entry_units">
6154 </td>
6155
6156 <td class="entry_range">
6157 </td>
6158
6159 <td class="entry_notes">
6160 </td>
6161
6162 <td class="entry_tags">
6163 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006164 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006165 </ul>
6166 </td>
6167
6168 </tr> <!-- end of entry -->
6169
6170
6171
6172 <!-- end of kind -->
6173 </tbody>
6174
6175 <!-- end of section -->
6176 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6177
6178
6179 <tr><td colspan="7" class="kind">controls</td></tr>
6180
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006181 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006182 <tr>
6183 <th class="th_name">Property Name</th>
6184 <th class="th_type">Type</th>
6185 <th class="th_description">Description</th>
6186 <th class="th_units">Units</th>
6187 <th class="th_range">Range</th>
6188 <th class="th_notes">Notes</th>
6189 <th class="th_tags">Tags</th>
6190 </tr>
6191 </thead>
6192
6193 <tbody>
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204 <tr class="entry" id="controls_android.noiseReduction.mode">
6205 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6206 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006207 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006208
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006209 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006210
6211 <ul class="entry_type_enum">
6212 <li>
6213 <span class="entry_type_enum_name">OFF</span>
6214 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6215 </li>
6216 <li>
6217 <span class="entry_type_enum_name">FAST</span>
6218 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6219 bayer output</span>
6220 </li>
6221 <li>
6222 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6223 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6224 quality</span>
6225 </li>
6226 </ul>
6227
6228 </td> <!-- entry_type -->
6229
6230 <td class="entry_description">
6231 Mode of operation for the noise reduction
6232 algorithm
6233 </td>
6234
6235 <td class="entry_units">
6236 </td>
6237
6238 <td class="entry_range">
6239 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6240 </td>
6241
6242 <td class="entry_notes">
6243 </td>
6244
6245 <td class="entry_tags">
6246 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006247 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006248 </ul>
6249 </td>
6250
6251 </tr> <!-- end of entry -->
6252
6253
6254 <tr class="entry" id="controls_android.noiseReduction.strength">
6255 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6256 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006257 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006258
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006259 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006260
6261
6262 </td> <!-- entry_type -->
6263
6264 <td class="entry_description">
6265 Control the amount of noise reduction
6266 applied to the images
6267 </td>
6268
6269 <td class="entry_units">
6270 1-10; 10 is max noise reduction
6271 </td>
6272
6273 <td class="entry_range">
6274 1 - 10
6275 </td>
6276
6277 <td class="entry_notes">
6278 </td>
6279
6280 <td class="entry_tags">
6281 </td>
6282
6283 </tr> <!-- end of entry -->
6284
6285
6286
6287 <!-- end of kind -->
6288 </tbody>
6289 <tr><td colspan="7" class="kind">dynamic</td></tr>
6290
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006291 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006292 <tr>
6293 <th class="th_name">Property Name</th>
6294 <th class="th_type">Type</th>
6295 <th class="th_description">Description</th>
6296 <th class="th_units">Units</th>
6297 <th class="th_range">Range</th>
6298 <th class="th_notes">Notes</th>
6299 <th class="th_tags">Tags</th>
6300 </tr>
6301 </thead>
6302
6303 <tbody>
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6315 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6316 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006317 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006318
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006319 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006320
6321 <ul class="entry_type_enum">
6322 <li>
6323 <span class="entry_type_enum_name">OFF</span>
6324 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6325 </li>
6326 <li>
6327 <span class="entry_type_enum_name">FAST</span>
6328 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6329 bayer output</span>
6330 </li>
6331 <li>
6332 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6333 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6334 quality</span>
6335 </li>
6336 </ul>
6337
6338 </td> <!-- entry_type -->
6339
6340 <td class="entry_description">
6341 Mode of operation for the noise reduction
6342 algorithm
6343 </td>
6344
6345 <td class="entry_units">
6346 </td>
6347
6348 <td class="entry_range">
6349 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6350 </td>
6351
6352 <td class="entry_notes">
6353 </td>
6354
6355 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006356 <ul class="entry_tags">
6357 <li><a href="#tag_V1">V1</a></li>
6358 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006359 </td>
6360
6361 </tr> <!-- end of entry -->
6362
6363
6364
6365 <!-- end of kind -->
6366 </tbody>
6367
6368 <!-- end of section -->
6369 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6370
6371
6372 <tr><td colspan="7" class="kind">static</td></tr>
6373
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006374 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006375 <tr>
6376 <th class="th_name">Property Name</th>
6377 <th class="th_type">Type</th>
6378 <th class="th_description">Description</th>
6379 <th class="th_units">Units</th>
6380 <th class="th_range">Range</th>
6381 <th class="th_notes">Notes</th>
6382 <th class="th_tags">Tags</th>
6383 </tr>
6384 </thead>
6385
6386 <tbody>
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6398 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6399 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006400 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006401
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006402 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006403
6404
6405 </td> <!-- entry_type -->
6406
6407 <td class="entry_description">
6408 If set to 1,<wbr> the camera service does not
6409 scale 'normalized' coordinates with respect to the crop
6410 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6411 and output (face rectangles).<wbr>
6412 </td>
6413
6414 <td class="entry_units">
6415 </td>
6416
6417 <td class="entry_range">
6418 </td>
6419
6420 <td class="entry_notes">
6421 Normalized coordinates refer to those in the
6422 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006423 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6424<br>
6425<br> HAL implementations should instead always use and emit
6426 sensor array-relative coordinates for all region data.<wbr> Does
6427 not need to be listed in static metadata.<wbr> Support will be
6428 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006429 </td>
6430
6431 <td class="entry_tags">
6432 </td>
6433
6434 </tr> <!-- end of entry -->
6435
6436
6437 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6438 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6439 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006440 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006441
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006442 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006443
6444
6445 </td> <!-- entry_type -->
6446
6447 <td class="entry_description">
6448 If set to 1,<wbr> then the camera service always
6449 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6450 trigger.<wbr>
6451 </td>
6452
6453 <td class="entry_units">
6454 </td>
6455
6456 <td class="entry_range">
6457 </td>
6458
6459 <td class="entry_notes">
6460 HAL implementations should implement AF trigger
6461 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6462 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6463 not need to be listed in static metadata.<wbr> Support will be
6464 removed in future versions of camera service
6465 </td>
6466
6467 <td class="entry_tags">
6468 </td>
6469
6470 </tr> <!-- end of entry -->
6471
6472
6473 <tr class="entry" id="static_android.quirks.useZslFormat">
6474 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6475 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006476 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006477
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006478 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006479
6480
6481 </td> <!-- entry_type -->
6482
6483 <td class="entry_description">
6484 If set to 1,<wbr> the camera service uses
6485 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6486 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6487 shutter lag stream
6488 </td>
6489
6490 <td class="entry_units">
6491 </td>
6492
6493 <td class="entry_range">
6494 </td>
6495
6496 <td class="entry_notes">
6497 HAL implementations should use gralloc usage flags
6498 to determine that a stream will be used for
6499 zero-shutter-lag,<wbr> instead of relying on an explicit
6500 format setting.<wbr> Does not need to be listed in static
6501 metadata.<wbr> Support will be removed in future versions of
6502 camera service.<wbr>
6503 </td>
6504
6505 <td class="entry_tags">
6506 </td>
6507
6508 </tr> <!-- end of entry -->
6509
6510
6511
6512 <!-- end of kind -->
6513 </tbody>
6514
6515 <!-- end of section -->
6516 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6517
6518
6519 <tr><td colspan="7" class="kind">controls</td></tr>
6520
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006521 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006522 <tr>
6523 <th class="th_name">Property Name</th>
6524 <th class="th_type">Type</th>
6525 <th class="th_description">Description</th>
6526 <th class="th_units">Units</th>
6527 <th class="th_range">Range</th>
6528 <th class="th_notes">Notes</th>
6529 <th class="th_tags">Tags</th>
6530 </tr>
6531 </thead>
6532
6533 <tbody>
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544 <tr class="entry" id="controls_android.request.frameCount">
6545 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006547 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006549 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006550
6551
6552 </td> <!-- entry_type -->
6553
6554 <td class="entry_description">
6555 A frame counter set by the framework.<wbr> Must
Igor Murashkin28548d22013-09-10 15:26:20 -07006556 be maintained unchanged in output frame.<wbr> This value monotonically
6557 increases with every new result (that is,<wbr> each new result has a unique
6558 frameCount value).<wbr>
6559
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006560 </td>
6561
6562 <td class="entry_units">
6563 incrementing integer
6564 </td>
6565
6566 <td class="entry_range">
6567 Any int
6568 </td>
6569
6570 <td class="entry_notes">
6571 </td>
6572
6573 <td class="entry_tags">
6574 </td>
6575
6576 </tr> <!-- end of entry -->
6577
6578
6579 <tr class="entry" id="controls_android.request.id">
6580 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6581 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006582 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006583
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006584 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006585
6586
6587 </td> <!-- entry_type -->
6588
6589 <td class="entry_description">
6590 An application-specified ID for the current
6591 request.<wbr> Must be maintained unchanged in output
6592 frame
6593 </td>
6594
6595 <td class="entry_units">
6596 arbitrary integer assigned by application
6597 </td>
6598
6599 <td class="entry_range">
6600 Any int
6601 </td>
6602
6603 <td class="entry_notes">
6604 </td>
6605
6606 <td class="entry_tags">
6607 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006608 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006609 </ul>
6610 </td>
6611
6612 </tr> <!-- end of entry -->
6613
6614
6615 <tr class="entry" id="controls_android.request.inputStreams">
6616 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6617 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006618 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006619 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006620
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006621 <span class="entry_type_array">
6622 n
6623 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006624 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006625
6626
6627 </td> <!-- entry_type -->
6628
6629 <td class="entry_description">
6630 List which camera reprocess stream is used
6631 for the source of reprocessing data.<wbr>
6632 </td>
6633
6634 <td class="entry_units">
6635 List of camera reprocess stream IDs
6636 </td>
6637
6638 <td class="entry_range">
6639 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006640 reprocess stream ID.<wbr>
6641
6642 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6643 reprocess streams may be included in a single request; they
6644 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006645 </td>
6646
6647 <td class="entry_notes">
6648 Only meaningful when android.<wbr>request.<wbr>type ==
6649 REPROCESS.<wbr> Ignored otherwise
6650 </td>
6651
6652 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006653 <ul class="entry_tags">
6654 <li><a href="#tag_HAL2">HAL2</a></li>
6655 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006656 </td>
6657
6658 </tr> <!-- end of entry -->
6659
6660
6661 <tr class="entry" id="controls_android.request.metadataMode">
6662 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6663 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006664 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006665
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006666 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006667
6668 <ul class="entry_type_enum">
6669 <li>
6670 <span class="entry_type_enum_name">NONE</span>
6671 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6672 for application-bound buffer data.<wbr> If no
6673 application-bound streams exist,<wbr> no frame should be
6674 placed in the output frame queue.<wbr> If such streams
6675 exist,<wbr> a frame should be placed on the output queue
6676 with null metadata but with the necessary output buffer
6677 information.<wbr> Timestamp information should still be
6678 included with any output stream buffers</span>
6679 </li>
6680 <li>
6681 <span class="entry_type_enum_name">FULL</span>
6682 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6683 only be produced if they are separately
6684 enabled</span>
6685 </li>
6686 </ul>
6687
6688 </td> <!-- entry_type -->
6689
6690 <td class="entry_description">
6691 How much metadata to produce on
6692 output
6693 </td>
6694
6695 <td class="entry_units">
6696 </td>
6697
6698 <td class="entry_range">
6699 </td>
6700
6701 <td class="entry_notes">
6702 </td>
6703
6704 <td class="entry_tags">
6705 </td>
6706
6707 </tr> <!-- end of entry -->
6708
6709
6710 <tr class="entry" id="controls_android.request.outputStreams">
6711 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6712 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006713 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006714 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006715
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006716 <span class="entry_type_array">
6717 n
6718 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006719 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006720
6721
6722 </td> <!-- entry_type -->
6723
6724 <td class="entry_description">
6725 Lists which camera output streams image data
6726 from this capture must be sent to
6727 </td>
6728
6729 <td class="entry_units">
6730 List of camera stream IDs
6731 </td>
6732
6733 <td class="entry_range">
6734 List must only include streams that have been
6735 created
6736 </td>
6737
6738 <td class="entry_notes">
6739 If no output streams are listed,<wbr> then the image
6740 data should simply be discarded.<wbr> The image data must
6741 still be captured for metadata and statistics production,<wbr>
6742 and the lens and flash must operate as requested.<wbr>
6743 </td>
6744
6745 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006746 <ul class="entry_tags">
6747 <li><a href="#tag_HAL2">HAL2</a></li>
6748 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006749 </td>
6750
6751 </tr> <!-- end of entry -->
6752
6753
6754 <tr class="entry" id="controls_android.request.type">
6755 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006757 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006758
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006759 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006760
6761 <ul class="entry_type_enum">
6762 <li>
6763 <span class="entry_type_enum_name">CAPTURE</span>
6764 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6765 and process it according to the
6766 settings</span>
6767 </li>
6768 <li>
6769 <span class="entry_type_enum_name">REPROCESS</span>
6770 <span class="entry_type_enum_notes">Process previously captured data; the
6771 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6772 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6773 needed for reprocessing with [RP]</span>
6774 </li>
6775 </ul>
6776
6777 </td> <!-- entry_type -->
6778
6779 <td class="entry_description">
6780 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006781 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006782 </td>
6783
6784 <td class="entry_units">
6785 </td>
6786
6787 <td class="entry_range">
6788 </td>
6789
6790 <td class="entry_notes">
6791 </td>
6792
6793 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006794 <ul class="entry_tags">
6795 <li><a href="#tag_HAL2">HAL2</a></li>
6796 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006797 </td>
6798
6799 </tr> <!-- end of entry -->
6800
6801
6802
6803 <!-- end of kind -->
6804 </tbody>
6805 <tr><td colspan="7" class="kind">static</td></tr>
6806
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006807 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006808 <tr>
6809 <th class="th_name">Property Name</th>
6810 <th class="th_type">Type</th>
6811 <th class="th_description">Description</th>
6812 <th class="th_units">Units</th>
6813 <th class="th_range">Range</th>
6814 <th class="th_notes">Notes</th>
6815 <th class="th_tags">Tags</th>
6816 </tr>
6817 </thead>
6818
6819 <tbody>
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6831 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6832 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006833 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006834 <span class="entry_type_container">x</span>
6835
6836 <span class="entry_type_array">
6837 3
6838 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006839 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006840
6841
6842 </td> <!-- entry_type -->
6843
6844 <td class="entry_description">
6845 How many output streams can be allocated at
6846 the same time for each type of stream
6847 </td>
6848
6849 <td class="entry_units">
6850 The number of raw sensor streams; the number of
6851 processed,<wbr> uncompressed streams; and the number of
6852 JPEG-compressed streams
6853 </td>
6854
6855 <td class="entry_range">
6856 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6857 for processed,<wbr> uncompressed streams
6858 </td>
6859
6860 <td class="entry_notes">
6861 Video snapshot with preview callbacks requires 3
6862 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6863 one JPEG stream (snapshot)
6864 </td>
6865
6866 <td class="entry_tags">
6867 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006868 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869 </ul>
6870 </td>
6871
6872 </tr> <!-- end of entry -->
6873
6874
6875 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6876 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6877 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006878 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006879 <span class="entry_type_container">x</span>
6880
6881 <span class="entry_type_array">
6882 1
6883 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006884 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006885
6886
6887 </td> <!-- entry_type -->
6888
6889 <td class="entry_description">
6890 How many reprocessing streams of any type
6891 can be allocated at the same time
6892 </td>
6893
6894 <td class="entry_units">
6895 </td>
6896
6897 <td class="entry_range">
6898 >= 1
6899 </td>
6900
6901 <td class="entry_notes">
6902 </td>
6903
6904 <td class="entry_tags">
6905 </td>
6906
6907 </tr> <!-- end of entry -->
6908
6909
6910
6911 <!-- end of kind -->
6912 </tbody>
6913 <tr><td colspan="7" class="kind">dynamic</td></tr>
6914
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006915 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006916 <tr>
6917 <th class="th_name">Property Name</th>
6918 <th class="th_type">Type</th>
6919 <th class="th_description">Description</th>
6920 <th class="th_units">Units</th>
6921 <th class="th_range">Range</th>
6922 <th class="th_notes">Notes</th>
6923 <th class="th_tags">Tags</th>
6924 </tr>
6925 </thead>
6926
6927 <tbody>
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938 <tr class="entry" id="dynamic_android.request.frameCount">
6939 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6940 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006941 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006942
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006943 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006944
6945
6946 </td> <!-- entry_type -->
6947
6948 <td class="entry_description">
Igor Murashkin28548d22013-09-10 15:26:20 -07006949 A frame counter set by the framework.<wbr> This value monotonically
6950 increases with every new result (that is,<wbr> each new result has a unique
6951 frameCount value).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006952 </td>
6953
6954 <td class="entry_units">
6955 count of frames
6956 </td>
6957
6958 <td class="entry_range">
6959 > 0
6960 </td>
6961
6962 <td class="entry_notes">
6963 Reset on release()
6964 </td>
6965
6966 <td class="entry_tags">
6967 </td>
6968
6969 </tr> <!-- end of entry -->
6970
6971
6972 <tr class="entry" id="dynamic_android.request.id">
6973 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6974 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006975 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006976
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006977 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006978
6979
6980 </td> <!-- entry_type -->
6981
6982 <td class="entry_description">
6983 An application-specified ID for the current
6984 request.<wbr> Must be maintained unchanged in output
6985 frame
6986 </td>
6987
6988 <td class="entry_units">
6989 arbitrary integer assigned by application
6990 </td>
6991
6992 <td class="entry_range">
6993 Any int
6994 </td>
6995
6996 <td class="entry_notes">
6997 </td>
6998
6999 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007000 <ul class="entry_tags">
7001 <li><a href="#tag_V1">V1</a></li>
7002 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007003 </td>
7004
7005 </tr> <!-- end of entry -->
7006
7007
7008 <tr class="entry" id="dynamic_android.request.metadataMode">
7009 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7010 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007011 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007012
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007013 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014
7015 <ul class="entry_type_enum">
7016 <li>
7017 <span class="entry_type_enum_name">NONE</span>
7018 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7019 for application-bound buffer data.<wbr> If no
7020 application-bound streams exist,<wbr> no frame should be
7021 placed in the output frame queue.<wbr> If such streams
7022 exist,<wbr> a frame should be placed on the output queue
7023 with null metadata but with the necessary output buffer
7024 information.<wbr> Timestamp information should still be
7025 included with any output stream buffers</span>
7026 </li>
7027 <li>
7028 <span class="entry_type_enum_name">FULL</span>
7029 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7030 only be produced if they are separately
7031 enabled</span>
7032 </li>
7033 </ul>
7034
7035 </td> <!-- entry_type -->
7036
7037 <td class="entry_description">
7038 How much metadata to produce on
7039 output
7040 </td>
7041
7042 <td class="entry_units">
7043 </td>
7044
7045 <td class="entry_range">
7046 </td>
7047
7048 <td class="entry_notes">
7049 </td>
7050
7051 <td class="entry_tags">
7052 </td>
7053
7054 </tr> <!-- end of entry -->
7055
7056
7057 <tr class="entry" id="dynamic_android.request.outputStreams">
7058 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7059 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007060 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007061 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007062
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007063 <span class="entry_type_array">
7064 n
7065 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007066 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007067
7068
7069 </td> <!-- entry_type -->
7070
7071 <td class="entry_description">
7072 Lists which camera output streams image data
7073 from this capture must be sent to
7074 </td>
7075
7076 <td class="entry_units">
7077 List of camera stream IDs
7078 </td>
7079
7080 <td class="entry_range">
7081 List must only include streams that have been
7082 created
7083 </td>
7084
7085 <td class="entry_notes">
7086 If no output streams are listed,<wbr> then the image
7087 data should simply be discarded.<wbr> The image data must
7088 still be captured for metadata and statistics production,<wbr>
7089 and the lens and flash must operate as requested.<wbr>
7090 </td>
7091
7092 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007093 <ul class="entry_tags">
7094 <li><a href="#tag_HAL2">HAL2</a></li>
7095 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007096 </td>
7097
7098 </tr> <!-- end of entry -->
7099
7100
7101
7102 <!-- end of kind -->
7103 </tbody>
7104
7105 <!-- end of section -->
7106 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7107
7108
7109 <tr><td colspan="7" class="kind">controls</td></tr>
7110
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007111 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007112 <tr>
7113 <th class="th_name">Property Name</th>
7114 <th class="th_type">Type</th>
7115 <th class="th_description">Description</th>
7116 <th class="th_units">Units</th>
7117 <th class="th_range">Range</th>
7118 <th class="th_notes">Notes</th>
7119 <th class="th_tags">Tags</th>
7120 </tr>
7121 </thead>
7122
7123 <tbody>
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134 <tr class="entry" id="controls_android.scaler.cropRegion">
7135 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7136 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007137 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007138 <span class="entry_type_container">x</span>
7139
7140 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007141 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007142 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007143 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007144
7145
7146 </td> <!-- entry_type -->
7147
7148 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007149 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7150<br>
7151<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7152 (width,<wbr> height).<wbr> The region of the sensor that is used for
7153 output.<wbr> Each stream must use this rectangle to produce its
7154 output,<wbr> cropping to a smaller region if necessary to
7155 maintain the stream's aspect ratio.<wbr>
7156<br>
7157<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007158 </td>
7159
7160 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007161 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7162 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007163 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007164 </td>
7165
7166 <td class="entry_range">
7167 </td>
7168
7169 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007170
7171 Any additional per-stream cropping must be done to
7172 maximize the final pixel area of the stream.<wbr>
7173<br>
7174<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7175 ratio,<wbr> then 4:3 streams should use the exact crop
7176 region.<wbr> 16:9 streams should further crop vertically
7177 (letterbox).<wbr>
7178<br>
7179<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7180 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7181 streams should match exactly.<wbr> These additional crops must
7182 be centered within the crop region.<wbr>
7183<br>
7184<br> The output streams must maintain square pixels at all
7185 times,<wbr> no matter what the relative aspect ratios of the
7186 crop region and the stream are.<wbr> Negative values for
7187 corner are allowed for raw output if full pixel array is
7188 larger than active pixel array.<wbr> Width and height may be
7189 rounded to nearest larger supportable width,<wbr> especially
7190 for raw output,<wbr> where only a few fixed scales may be
7191 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007192 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007193 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007194 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007195 respectively.<wbr>
7196
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007197 </td>
7198
7199 <td class="entry_tags">
7200 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007201 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007202 </ul>
7203 </td>
7204
7205 </tr> <!-- end of entry -->
7206
7207
7208
7209 <!-- end of kind -->
7210 </tbody>
7211 <tr><td colspan="7" class="kind">static</td></tr>
7212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007213 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007214 <tr>
7215 <th class="th_name">Property Name</th>
7216 <th class="th_type">Type</th>
7217 <th class="th_description">Description</th>
7218 <th class="th_units">Units</th>
7219 <th class="th_range">Range</th>
7220 <th class="th_notes">Notes</th>
7221 <th class="th_tags">Tags</th>
7222 </tr>
7223 </thead>
7224
7225 <tbody>
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236 <tr class="entry" id="static_android.scaler.availableFormats">
7237 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7238 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007239 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007240 <span class="entry_type_container">x</span>
7241
7242 <span class="entry_type_array">
7243 n
7244 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007245 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007246 <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>
7247
7248 <ul class="entry_type_enum">
7249 <li>
7250 <span class="entry_type_enum_name">RAW_SENSOR</span>
7251 <span class="entry_type_enum_value">0x20</span>
7252 </li>
7253 <li>
7254 <span class="entry_type_enum_name">YV12</span>
7255 <span class="entry_type_enum_value">0x32315659</span>
7256 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7257 </li>
7258 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007259 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007260 <span class="entry_type_enum_value">0x11</span>
7261 <span class="entry_type_enum_notes">NV21</span>
7262 </li>
7263 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007264 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7265 <span class="entry_type_enum_value">0x22</span>
7266 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7267 </li>
7268 <li>
7269 <span class="entry_type_enum_name">YCbCr_420_888</span>
7270 <span class="entry_type_enum_value">0x23</span>
7271 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7272 </li>
7273 <li>
7274 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007275 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007276 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007277 </li>
7278 </ul>
7279
7280 </td> <!-- entry_type -->
7281
7282 <td class="entry_description">
7283 List of app-visible formats
7284 </td>
7285
7286 <td class="entry_units">
7287 </td>
7288
7289 <td class="entry_range">
7290 </td>
7291
7292 <td class="entry_notes">
7293 </td>
7294
7295 <td class="entry_tags">
7296 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007297 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007298 </ul>
7299 </td>
7300
7301 </tr> <!-- end of entry -->
7302
7303
7304 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7305 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7306 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007307 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007308 <span class="entry_type_container">x</span>
7309
7310 <span class="entry_type_array">
7311 n
7312 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007313 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007314
7315
7316 </td> <!-- entry_type -->
7317
7318 <td class="entry_description">
7319 The minimum frame duration that is supported
7320 for each resolution in availableJpegSizes.<wbr> Should
7321 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007322 stream is active and captured in a burst,<wbr> with all
7323 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007324 </td>
7325
7326 <td class="entry_units">
7327 </td>
7328
7329 <td class="entry_range">
7330 </td>
7331
7332 <td class="entry_notes">
7333 When multiple streams are configured,<wbr> the minimum
7334 frame duration will be >= max(individual stream min
7335 durations)
7336 </td>
7337
7338 <td class="entry_tags">
7339 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007340 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007341 </ul>
7342 </td>
7343
7344 </tr> <!-- end of entry -->
7345
7346
7347 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7348 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7349 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007350 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007351 <span class="entry_type_container">x</span>
7352
7353 <span class="entry_type_array">
7354 n x 2
7355 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007356 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007357
7358
7359 </td> <!-- entry_type -->
7360
7361 <td class="entry_description">
7362 The resolutions available for output from
7363 the JPEG block.<wbr> Listed as width x height
7364 </td>
7365
7366 <td class="entry_units">
7367 </td>
7368
7369 <td class="entry_range">
7370 Must include: - sensor maximum resolution Should
7371 include: - half/<wbr>quarter max resolution
7372 </td>
7373
7374 <td class="entry_notes">
7375 </td>
7376
7377 <td class="entry_tags">
7378 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007379 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007380 </ul>
7381 </td>
7382
7383 </tr> <!-- end of entry -->
7384
7385
7386 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7387 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7388 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007389 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007390
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007391 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007392
7393
7394 </td> <!-- entry_type -->
7395
7396 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007397 The maximum ratio between active area width
7398 and crop region width,<wbr> or between active area height and
7399 crop region height,<wbr> if the crop region height is larger
7400 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007401 </td>
7402
7403 <td class="entry_units">
7404 </td>
7405
7406 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007407 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 </td>
7409
7410 <td class="entry_notes">
7411 </td>
7412
7413 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007414 <ul class="entry_tags">
7415 <li><a href="#tag_BC">BC</a></li>
7416 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007417 </td>
7418
7419 </tr> <!-- end of entry -->
7420
7421
7422 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7423 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7424 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007425 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007426 <span class="entry_type_container">x</span>
7427
7428 <span class="entry_type_array">
7429 n
7430 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007431 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432
7433
7434 </td> <!-- entry_type -->
7435
7436 <td class="entry_description">
7437 The minimum frame duration that is supported
7438 for each resolution in availableProcessedSizes.<wbr> Should
7439 correspond to the frame duration when only that processed
7440 stream is active,<wbr> with all processing set to
7441 FAST
7442 </td>
7443
7444 <td class="entry_units">
7445 </td>
7446
7447 <td class="entry_range">
7448 </td>
7449
7450 <td class="entry_notes">
7451 When multiple streams are configured,<wbr> the minimum
7452 frame duration will be >= max(individual stream min
7453 durations)
7454 </td>
7455
7456 <td class="entry_tags">
7457 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007458 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007459 </ul>
7460 </td>
7461
7462 </tr> <!-- end of entry -->
7463
7464
7465 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7466 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7467 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007468 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007469 <span class="entry_type_container">x</span>
7470
7471 <span class="entry_type_array">
7472 n x 2
7473 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007474 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007475
7476
7477 </td> <!-- entry_type -->
7478
7479 <td class="entry_description">
7480 The resolutions available for use with
7481 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7482 platform opaque YUV/<wbr>RGB streams to the GPU or video
7483 encoders.<wbr> Listed as width,<wbr> height
7484 </td>
7485
7486 <td class="entry_units">
7487 </td>
7488
7489 <td class="entry_range">
7490 Must include: - sensor maximum resolution -
7491 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7492 resolutions
7493 </td>
7494
7495 <td class="entry_notes">
Zhijun He15cc3112013-09-17 12:38:34 -07007496 The actual supported resolution list may be limited by
7497 consumer end points for different use cases.<wbr> For example,<wbr> for
7498 recording use case,<wbr> the largest supported resolution may be
7499 limited by max supported size from encoder,<wbr> for preview use
7500 case,<wbr> the largest supported resolution may be limited by max
7501 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr>
7502
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007503 </td>
7504
7505 <td class="entry_tags">
7506 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007507 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 </ul>
7509 </td>
7510
7511 </tr> <!-- end of entry -->
7512
7513
7514 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7515 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7516 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007517 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007518 <span class="entry_type_container">x</span>
7519
7520 <span class="entry_type_array">
7521 n
7522 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007523 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007524
7525
7526 </td> <!-- entry_type -->
7527
7528 <td class="entry_description">
7529 The minimum frame duration that is supported
7530 for each raw resolution in availableRawSizes.<wbr> Should
7531 correspond to the frame duration when only the raw stream
7532 is active.<wbr>
7533 </td>
7534
7535 <td class="entry_units">
7536 </td>
7537
7538 <td class="entry_range">
7539 </td>
7540
7541 <td class="entry_notes">
7542 When multiple streams are configured,<wbr> the minimum
7543 frame duration will be >= max(individual stream min
7544 durations)
7545 </td>
7546
7547 <td class="entry_tags">
7548 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007549 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007550 </ul>
7551 </td>
7552
7553 </tr> <!-- end of entry -->
7554
7555
7556 <tr class="entry" id="static_android.scaler.availableRawSizes">
7557 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7558 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007559 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007560 <span class="entry_type_container">x</span>
7561
7562 <span class="entry_type_array">
7563 n x 2
7564 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007565 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566
7567
7568 </td> <!-- entry_type -->
7569
7570 <td class="entry_description">
7571 The resolutions available for use with raw
7572 sensor output streams,<wbr> listed as width,<wbr>
7573 height
7574 </td>
7575
7576 <td class="entry_units">
7577 </td>
7578
7579 <td class="entry_range">
7580 Must include: - sensor maximum resolution
7581 </td>
7582
7583 <td class="entry_notes">
7584 </td>
7585
7586 <td class="entry_tags">
7587 </td>
7588
7589 </tr> <!-- end of entry -->
7590
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007591
7592
7593 <!-- end of kind -->
7594 </tbody>
7595 <tr><td colspan="7" class="kind">dynamic</td></tr>
7596
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007597 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007598 <tr>
7599 <th class="th_name">Property Name</th>
7600 <th class="th_type">Type</th>
7601 <th class="th_description">Description</th>
7602 <th class="th_units">Units</th>
7603 <th class="th_range">Range</th>
7604 <th class="th_notes">Notes</th>
7605 <th class="th_tags">Tags</th>
7606 </tr>
7607 </thead>
7608
7609 <tbody>
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7621 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7622 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007623 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007624 <span class="entry_type_container">x</span>
7625
7626 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007627 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007628 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007629 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630
7631
7632 </td> <!-- entry_type -->
7633
7634 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007635 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7636<br>
7637<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7638 (width,<wbr> height).<wbr> The region of the sensor that is used for
7639 output.<wbr> Each stream must use this rectangle to produce its
7640 output,<wbr> cropping to a smaller region if necessary to
7641 maintain the stream's aspect ratio.<wbr>
7642<br>
7643<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007644 </td>
7645
7646 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007647 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7648 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007649 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007650 </td>
7651
7652 <td class="entry_range">
7653 </td>
7654
7655 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007656
7657 Any additional per-stream cropping must be done to
7658 maximize the final pixel area of the stream.<wbr>
7659<br>
7660<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7661 ratio,<wbr> then 4:3 streams should use the exact crop
7662 region.<wbr> 16:9 streams should further crop vertically
7663 (letterbox).<wbr>
7664<br>
7665<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7666 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7667 streams should match exactly.<wbr> These additional crops must
7668 be centered within the crop region.<wbr>
7669<br>
7670<br> The output streams must maintain square pixels at all
7671 times,<wbr> no matter what the relative aspect ratios of the
7672 crop region and the stream are.<wbr> Negative values for
7673 corner are allowed for raw output if full pixel array is
7674 larger than active pixel array.<wbr> Width and height may be
7675 rounded to nearest larger supportable width,<wbr> especially
7676 for raw output,<wbr> where only a few fixed scales may be
7677 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007678 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007679 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007680 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007681 respectively.<wbr>
7682
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007683 </td>
7684
7685 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007686 <ul class="entry_tags">
7687 <li><a href="#tag_BC">BC</a></li>
7688 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007689 </td>
7690
7691 </tr> <!-- end of entry -->
7692
7693
7694
7695 <!-- end of kind -->
7696 </tbody>
7697
7698 <!-- end of section -->
7699 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7700
7701
7702 <tr><td colspan="7" class="kind">controls</td></tr>
7703
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007704 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007705 <tr>
7706 <th class="th_name">Property Name</th>
7707 <th class="th_type">Type</th>
7708 <th class="th_description">Description</th>
7709 <th class="th_units">Units</th>
7710 <th class="th_range">Range</th>
7711 <th class="th_notes">Notes</th>
7712 <th class="th_tags">Tags</th>
7713 </tr>
7714 </thead>
7715
7716 <tbody>
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727 <tr class="entry" id="controls_android.sensor.exposureTime">
7728 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7729 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007730 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007731
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007732 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007733
7734
7735 </td> <!-- entry_type -->
7736
7737 <td class="entry_description">
7738 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007739 light.<wbr>
7740<br>
7741<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7742 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7743
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007744 </td>
7745
7746 <td class="entry_units">
7747 nanoseconds
7748 </td>
7749
7750 <td class="entry_range">
7751 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7752 </td>
7753
7754 <td class="entry_notes">
7755 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7756 </td>
7757
7758 <td class="entry_tags">
7759 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007760 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007761 </ul>
7762 </td>
7763
7764 </tr> <!-- end of entry -->
7765
7766
7767 <tr class="entry" id="controls_android.sensor.frameDuration">
7768 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7769 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007770 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007771
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007772 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007773
7774
7775 </td> <!-- entry_type -->
7776
7777 <td class="entry_description">
7778 Duration from start of frame exposure to
7779 start of next frame exposure
7780 </td>
7781
7782 <td class="entry_units">
7783 nanoseconds
7784 </td>
7785
7786 <td class="entry_range">
7787 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7788 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7789 </td>
7790
7791 <td class="entry_notes">
7792 Exposure time has priority,<wbr> so duration is set to
7793 max(duration,<wbr> exposure time + overhead)
7794 </td>
7795
7796 <td class="entry_tags">
7797 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007798 <li><a href="#tag_V1">V1</a></li>
7799 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007800 </ul>
7801 </td>
7802
7803 </tr> <!-- end of entry -->
7804
7805
7806 <tr class="entry" id="controls_android.sensor.sensitivity">
7807 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7808 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007809 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007810
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007811 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007812
7813
7814 </td> <!-- entry_type -->
7815
7816 <td class="entry_description">
7817 Gain applied to image data.<wbr> Must be
7818 implemented through analog gain only if set to values
7819 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007820<br>
7821<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7822 gain to the nearest possible value (rather than gain more).<wbr>
7823
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007824 </td>
7825
7826 <td class="entry_units">
7827 ISO arithmetic units
7828 </td>
7829
7830 <td class="entry_range">
7831 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7832 </td>
7833
7834 <td class="entry_notes">
7835 ISO 12232:2006 REI method
7836 </td>
7837
7838 <td class="entry_tags">
7839 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007840 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007841 </ul>
7842 </td>
7843
7844 </tr> <!-- end of entry -->
7845
7846
7847
7848 <!-- end of kind -->
7849 </tbody>
7850 <tr><td colspan="7" class="kind">static</td></tr>
7851
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007852 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007853 <tr>
7854 <th class="th_name">Property Name</th>
7855 <th class="th_type">Type</th>
7856 <th class="th_description">Description</th>
7857 <th class="th_units">Units</th>
7858 <th class="th_range">Range</th>
7859 <th class="th_notes">Notes</th>
7860 <th class="th_tags">Tags</th>
7861 </tr>
7862 </thead>
7863
7864 <tbody>
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7878 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007880 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007881 <span class="entry_type_container">x</span>
7882
7883 <span class="entry_type_array">
7884 4
7885 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007886 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007887 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7888
7889
7890 </td> <!-- entry_type -->
7891
7892 <td class="entry_description">
7893 Area of raw data which corresponds to only
7894 active pixels; smaller or equal to
7895 pixelArraySize.<wbr>
7896 </td>
7897
7898 <td class="entry_units">
7899 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7900 pixel array is (0,<wbr>0)
7901 </td>
7902
7903 <td class="entry_range">
7904 </td>
7905
7906 <td class="entry_notes">
7907 </td>
7908
7909 <td class="entry_tags">
7910 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007911 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 </ul>
7913 </td>
7914
7915 </tr> <!-- end of entry -->
7916
7917
Zhijun He69fc0ea2013-07-17 09:42:58 -07007918 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7919 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007920 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007921 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007922 <span class="entry_type_container">x</span>
7923
7924 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007925 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007926 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007927 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007928 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929
7930
7931 </td> <!-- entry_type -->
7932
7933 <td class="entry_description">
7934 Range of valid sensitivities
7935 </td>
7936
7937 <td class="entry_units">
7938 </td>
7939
7940 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007941 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007942 </td>
7943
7944 <td class="entry_notes">
7945 </td>
7946
7947 <td class="entry_tags">
7948 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007949 <li><a href="#tag_BC">BC</a></li>
7950 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007951 </ul>
7952 </td>
7953
7954 </tr> <!-- end of entry -->
7955
7956
7957 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7958 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007960 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007962 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007963
7964 <ul class="entry_type_enum">
7965 <li>
7966 <span class="entry_type_enum_name">RGGB</span>
7967 </li>
7968 <li>
7969 <span class="entry_type_enum_name">GRBG</span>
7970 </li>
7971 <li>
7972 <span class="entry_type_enum_name">GBRG</span>
7973 </li>
7974 <li>
7975 <span class="entry_type_enum_name">BGGR</span>
7976 </li>
7977 <li>
7978 <span class="entry_type_enum_name">RGB</span>
7979 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7980 values for each pixel,<wbr> instead of just 1 16-bit value
7981 per pixel.<wbr></span>
7982 </li>
7983 </ul>
7984
7985 </td> <!-- entry_type -->
7986
7987 <td class="entry_description">
7988 Arrangement of color filters on sensor;
7989 represents the colors in the top-left 2x2 section of
7990 the sensor,<wbr> in reading order
7991 </td>
7992
7993 <td class="entry_units">
7994 </td>
7995
7996 <td class="entry_range">
7997 </td>
7998
7999 <td class="entry_notes">
8000 </td>
8001
8002 <td class="entry_tags">
8003 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008004 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008005 </ul>
8006 </td>
8007
8008 </tr> <!-- end of entry -->
8009
8010
8011 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8012 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008014 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008015 <span class="entry_type_container">x</span>
8016
8017 <span class="entry_type_array">
8018 2
8019 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008020 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008021 <div class="entry_type_notes">nanoseconds</div>
8022
8023
8024 </td> <!-- entry_type -->
8025
8026 <td class="entry_description">
8027 Range of valid exposure
8028 times
8029 </td>
8030
8031 <td class="entry_units">
8032 </td>
8033
8034 <td class="entry_range">
8035 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8036 sec)
8037 </td>
8038
8039 <td class="entry_notes">
8040 </td>
8041
8042 <td class="entry_tags">
8043 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008044 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008045 </ul>
8046 </td>
8047
8048 </tr> <!-- end of entry -->
8049
8050
8051 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8052 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8053 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008054 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008055
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008056 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008057
8058
8059 </td> <!-- entry_type -->
8060
8061 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008062 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008063 rate)
8064 </td>
8065
8066 <td class="entry_units">
8067 nanoseconds
8068 </td>
8069
8070 <td class="entry_range">
8071 >= 30e9
8072 </td>
8073
8074 <td class="entry_notes">
8075 Minimum duration is a function of resolution,<wbr>
8076 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008077 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8078 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8079 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008080 </td>
8081
8082 <td class="entry_tags">
8083 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008084 <li><a href="#tag_BC">BC</a></li>
8085 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008086 </ul>
8087 </td>
8088
8089 </tr> <!-- end of entry -->
8090
8091
8092 <tr class="entry" id="static_android.sensor.info.physicalSize">
8093 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8094 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008095 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008096 <span class="entry_type_container">x</span>
8097
8098 <span class="entry_type_array">
8099 2
8100 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008101 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008102 <div class="entry_type_notes">width x height in millimeters</div>
8103
8104
8105 </td> <!-- entry_type -->
8106
8107 <td class="entry_description">
8108 The physical dimensions of the full pixel
8109 array
8110 </td>
8111
8112 <td class="entry_units">
8113 </td>
8114
8115 <td class="entry_range">
8116 </td>
8117
8118 <td class="entry_notes">
8119 Needed for FOV calculation for old API
8120 </td>
8121
8122 <td class="entry_tags">
8123 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008124 <li><a href="#tag_V1">V1</a></li>
8125 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008126 </ul>
8127 </td>
8128
8129 </tr> <!-- end of entry -->
8130
8131
8132 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8133 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8134 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008135 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008136 <span class="entry_type_container">x</span>
8137
8138 <span class="entry_type_array">
8139 2
8140 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008141 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008142
8143
8144 </td> <!-- entry_type -->
8145
8146 <td class="entry_description">
8147 Dimensions of full pixel array,<wbr> possibly
8148 including black calibration pixels
8149 </td>
8150
8151 <td class="entry_units">
8152 </td>
8153
8154 <td class="entry_range">
8155 </td>
8156
8157 <td class="entry_notes">
8158 Maximum output resolution for raw format must
8159 match this in
8160 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8161 </td>
8162
8163 <td class="entry_tags">
8164 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008165 <li><a href="#tag_DNG">DNG</a></li>
8166 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008167 </ul>
8168 </td>
8169
8170 </tr> <!-- end of entry -->
8171
8172
8173 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8174 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8175 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008176 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008177
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008178 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008179
8180
8181 </td> <!-- entry_type -->
8182
8183 <td class="entry_description">
8184 Maximum raw value output by
8185 sensor
8186 </td>
8187
8188 <td class="entry_units">
8189 </td>
8190
8191 <td class="entry_range">
8192 > 1024 (10-bit output)
8193 </td>
8194
8195 <td class="entry_notes">
8196 Defines sensor bit depth (10-14 bits is
8197 expected)
8198 </td>
8199
8200 <td class="entry_tags">
8201 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008202 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008203 </ul>
8204 </td>
8205
8206 </tr> <!-- end of entry -->
8207
8208
8209
8210
8211
8212 <tr class="entry" id="static_android.sensor.baseGainFactor">
8213 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8214 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008215 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008216
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008217 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008218
8219
8220 </td> <!-- entry_type -->
8221
8222 <td class="entry_description">
8223 Gain factor from electrons to raw units when
8224 ISO=100
8225 </td>
8226
8227 <td class="entry_units">
8228 </td>
8229
8230 <td class="entry_range">
8231 </td>
8232
8233 <td class="entry_notes">
8234 </td>
8235
8236 <td class="entry_tags">
8237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008238 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008239 </ul>
8240 </td>
8241
8242 </tr> <!-- end of entry -->
8243
8244
8245 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8246 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008248 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008249 <span class="entry_type_container">x</span>
8250
8251 <span class="entry_type_array">
8252 4
8253 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008254 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008255 <div class="entry_type_notes">2x2 raw count block</div>
8256
8257
8258 </td> <!-- entry_type -->
8259
8260 <td class="entry_description">
8261 A fixed black level offset for each of the
8262 Bayer mosaic channels
8263 </td>
8264
8265 <td class="entry_units">
8266 </td>
8267
8268 <td class="entry_range">
8269 >= 0 each
8270 </td>
8271
8272 <td class="entry_notes">
8273 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8274 tags
8275 </td>
8276
8277 <td class="entry_tags">
8278 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008279 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008280 </ul>
8281 </td>
8282
8283 </tr> <!-- end of entry -->
8284
8285
8286 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8287 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8288 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008289 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008290 <span class="entry_type_container">x</span>
8291
8292 <span class="entry_type_array">
8293 9
8294 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008295 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008296 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8297
8298
8299 </td> <!-- entry_type -->
8300
8301 <td class="entry_description">
8302 Per-device calibration on top of color space
8303 transform 1
8304 </td>
8305
8306 <td class="entry_units">
8307 </td>
8308
8309 <td class="entry_range">
8310 </td>
8311
8312 <td class="entry_notes">
8313 </td>
8314
8315 <td class="entry_tags">
8316 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008317 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008318 </ul>
8319 </td>
8320
8321 </tr> <!-- end of entry -->
8322
8323
8324 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8325 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008327 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008328 <span class="entry_type_container">x</span>
8329
8330 <span class="entry_type_array">
8331 9
8332 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008333 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008334 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8335
8336
8337 </td> <!-- entry_type -->
8338
8339 <td class="entry_description">
8340 Per-device calibration on top of color space
8341 transform 2
8342 </td>
8343
8344 <td class="entry_units">
8345 </td>
8346
8347 <td class="entry_range">
8348 </td>
8349
8350 <td class="entry_notes">
8351 </td>
8352
8353 <td class="entry_tags">
8354 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008355 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008356 </ul>
8357 </td>
8358
8359 </tr> <!-- end of entry -->
8360
8361
8362 <tr class="entry" id="static_android.sensor.colorTransform1">
8363 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8364 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008365 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008366 <span class="entry_type_container">x</span>
8367
8368 <span class="entry_type_array">
8369 9
8370 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008371 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008372 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8373
8374
8375 </td> <!-- entry_type -->
8376
8377 <td class="entry_description">
8378 Linear mapping from XYZ (D50) color space to
8379 reference linear sensor color,<wbr> for first reference
8380 illuminant
8381 </td>
8382
8383 <td class="entry_units">
8384 </td>
8385
8386 <td class="entry_range">
8387 </td>
8388
8389 <td class="entry_notes">
8390 Use as follows XYZ = inv(transform) * clip( (raw -
8391 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8392 At least in the simple case
8393 </td>
8394
8395 <td class="entry_tags">
8396 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008397 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008398 </ul>
8399 </td>
8400
8401 </tr> <!-- end of entry -->
8402
8403
8404 <tr class="entry" id="static_android.sensor.colorTransform2">
8405 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8406 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008407 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008408 <span class="entry_type_container">x</span>
8409
8410 <span class="entry_type_array">
8411 9
8412 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008413 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008414 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8415
8416
8417 </td> <!-- entry_type -->
8418
8419 <td class="entry_description">
8420 Linear mapping from XYZ (D50) color space to
8421 reference linear sensor color,<wbr> for second reference
8422 illuminant
8423 </td>
8424
8425 <td class="entry_units">
8426 </td>
8427
8428 <td class="entry_range">
8429 </td>
8430
8431 <td class="entry_notes">
8432 </td>
8433
8434 <td class="entry_tags">
8435 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008436 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008437 </ul>
8438 </td>
8439
8440 </tr> <!-- end of entry -->
8441
8442
8443 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8444 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8445 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008446 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008447 <span class="entry_type_container">x</span>
8448
8449 <span class="entry_type_array">
8450 9
8451 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008452 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008453 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8454
8455
8456 </td> <!-- entry_type -->
8457
8458 <td class="entry_description">
8459 Used by DNG for better WB
8460 adaptation
8461 </td>
8462
8463 <td class="entry_units">
8464 </td>
8465
8466 <td class="entry_range">
8467 </td>
8468
8469 <td class="entry_notes">
8470 </td>
8471
8472 <td class="entry_tags">
8473 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008474 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008475 </ul>
8476 </td>
8477
8478 </tr> <!-- end of entry -->
8479
8480
8481 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8482 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8483 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008484 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008485 <span class="entry_type_container">x</span>
8486
8487 <span class="entry_type_array">
8488 9
8489 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008490 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008491 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8492
8493
8494 </td> <!-- entry_type -->
8495
8496 <td class="entry_description">
8497 Used by DNG for better WB
8498 adaptation
8499 </td>
8500
8501 <td class="entry_units">
8502 </td>
8503
8504 <td class="entry_range">
8505 </td>
8506
8507 <td class="entry_notes">
8508 </td>
8509
8510 <td class="entry_tags">
8511 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008512 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008513 </ul>
8514 </td>
8515
8516 </tr> <!-- end of entry -->
8517
8518
8519 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8520 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8521 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008522 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008523
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008524 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008525
8526
8527 </td> <!-- entry_type -->
8528
8529 <td class="entry_description">
8530 Maximum sensitivity that is implemented
8531 purely through analog gain
8532 </td>
8533
8534 <td class="entry_units">
8535 </td>
8536
8537 <td class="entry_range">
8538 </td>
8539
8540 <td class="entry_notes">
8541 For android.<wbr>sensor.<wbr>sensitivity values less than or
8542 equal to this,<wbr> all applied gain must be analog.<wbr> For
8543 values above this,<wbr> it can be a mix of analog and
8544 digital
8545 </td>
8546
8547 <td class="entry_tags">
8548 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008549 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008550 </ul>
8551 </td>
8552
8553 </tr> <!-- end of entry -->
8554
8555
8556 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8557 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8558 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008559 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008560 <span class="entry_type_container">x</span>
8561
8562 <span class="entry_type_array">
8563 2
8564 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008565 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008566 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8567
8568
8569 </td> <!-- entry_type -->
8570
8571 <td class="entry_description">
8572 Estimation of sensor noise
8573 characteristics
8574 </td>
8575
8576 <td class="entry_units">
8577 var(raw pixel value) = electrons * (baseGainFactor
8578 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8579 B
8580 </td>
8581
8582 <td class="entry_range">
8583 </td>
8584
8585 <td class="entry_notes">
8586 A represents sensor read noise before analog
8587 amplification; B represents noise from A/<wbr>D conversion and
8588 other circuits after amplification.<wbr> Both noise sources
8589 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8590 across the sensor
8591 </td>
8592
8593 <td class="entry_tags">
8594 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008595 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008596 </ul>
8597 </td>
8598
8599 </tr> <!-- end of entry -->
8600
8601
8602 <tr class="entry" id="static_android.sensor.orientation">
8603 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8604 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008605 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008606
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008607 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008608
8609
8610 </td> <!-- entry_type -->
8611
8612 <td class="entry_description">
8613 Clockwise angle through which the output
8614 image needs to be rotated to be upright on the device
8615 screen in its native orientation.<wbr> Also defines the
8616 direction of rolling shutter readout,<wbr> which is from top
8617 to bottom in the sensor's coordinate system
8618 </td>
8619
8620 <td class="entry_units">
8621 degrees clockwise rotation,<wbr> only multiples of
8622 90
8623 </td>
8624
8625 <td class="entry_range">
8626 0,<wbr>90,<wbr>180,<wbr>270
8627 </td>
8628
8629 <td class="entry_notes">
8630 </td>
8631
8632 <td class="entry_tags">
8633 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008634 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008635 </ul>
8636 </td>
8637
8638 </tr> <!-- end of entry -->
8639
8640
8641 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8642 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8643 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008644 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008645
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008646 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008647
8648 <ul class="entry_type_enum">
8649 <li>
8650 <span class="entry_type_enum_name">DAYLIGHT</span>
8651 <span class="entry_type_enum_value">1</span>
8652 </li>
8653 <li>
8654 <span class="entry_type_enum_name">FLUORESCENT</span>
8655 <span class="entry_type_enum_value">2</span>
8656 </li>
8657 <li>
8658 <span class="entry_type_enum_name">TUNGSTEN</span>
8659 <span class="entry_type_enum_value">3</span>
8660 <span class="entry_type_enum_notes">Incandescent light</span>
8661 </li>
8662 <li>
8663 <span class="entry_type_enum_name">FLASH</span>
8664 <span class="entry_type_enum_value">4</span>
8665 </li>
8666 <li>
8667 <span class="entry_type_enum_name">FINE_WEATHER</span>
8668 <span class="entry_type_enum_value">9</span>
8669 </li>
8670 <li>
8671 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8672 <span class="entry_type_enum_value">10</span>
8673 </li>
8674 <li>
8675 <span class="entry_type_enum_name">SHADE</span>
8676 <span class="entry_type_enum_value">11</span>
8677 </li>
8678 <li>
8679 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8680 <span class="entry_type_enum_value">12</span>
8681 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8682 </li>
8683 <li>
8684 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8685 <span class="entry_type_enum_value">13</span>
8686 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8687 </li>
8688 <li>
8689 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8690 <span class="entry_type_enum_value">14</span>
8691 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8692 </li>
8693 <li>
8694 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8695 <span class="entry_type_enum_value">15</span>
8696 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8697 </li>
8698 <li>
8699 <span class="entry_type_enum_name">STANDARD_A</span>
8700 <span class="entry_type_enum_value">17</span>
8701 </li>
8702 <li>
8703 <span class="entry_type_enum_name">STANDARD_B</span>
8704 <span class="entry_type_enum_value">18</span>
8705 </li>
8706 <li>
8707 <span class="entry_type_enum_name">STANDARD_C</span>
8708 <span class="entry_type_enum_value">19</span>
8709 </li>
8710 <li>
8711 <span class="entry_type_enum_name">D55</span>
8712 <span class="entry_type_enum_value">20</span>
8713 </li>
8714 <li>
8715 <span class="entry_type_enum_name">D65</span>
8716 <span class="entry_type_enum_value">21</span>
8717 </li>
8718 <li>
8719 <span class="entry_type_enum_name">D75</span>
8720 <span class="entry_type_enum_value">22</span>
8721 </li>
8722 <li>
8723 <span class="entry_type_enum_name">D50</span>
8724 <span class="entry_type_enum_value">23</span>
8725 </li>
8726 <li>
8727 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8728 <span class="entry_type_enum_value">24</span>
8729 </li>
8730 </ul>
8731
8732 </td> <!-- entry_type -->
8733
8734 <td class="entry_description">
8735 Light source used to define transform
8736 1
8737 </td>
8738
8739 <td class="entry_units">
8740 </td>
8741
8742 <td class="entry_range">
8743 </td>
8744
8745 <td class="entry_notes">
8746 [EXIF LightSource tag] Must all these be
8747 supported? Need CCT for each!
8748 </td>
8749
8750 <td class="entry_tags">
8751 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008752 <li><a href="#tag_DNG">DNG</a></li>
8753 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008754 </ul>
8755 </td>
8756
8757 </tr> <!-- end of entry -->
8758
8759
8760 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8761 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8762 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008763 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008764
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008765 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008766
8767
8768 </td> <!-- entry_type -->
8769
8770 <td class="entry_description">
8771 Light source used to define transform
8772 2
8773 </td>
8774
8775 <td class="entry_units">
8776 Same as illuminant 1
8777 </td>
8778
8779 <td class="entry_range">
8780 </td>
8781
8782 <td class="entry_notes">
8783 </td>
8784
8785 <td class="entry_tags">
8786 </td>
8787
8788 </tr> <!-- end of entry -->
8789
8790
8791
8792 <!-- end of kind -->
8793 </tbody>
8794 <tr><td colspan="7" class="kind">dynamic</td></tr>
8795
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008796 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008797 <tr>
8798 <th class="th_name">Property Name</th>
8799 <th class="th_type">Type</th>
8800 <th class="th_description">Description</th>
8801 <th class="th_units">Units</th>
8802 <th class="th_range">Range</th>
8803 <th class="th_notes">Notes</th>
8804 <th class="th_tags">Tags</th>
8805 </tr>
8806 </thead>
8807
8808 <tbody>
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8820 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8821 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008822 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008823
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008824 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008825
8826
8827 </td> <!-- entry_type -->
8828
8829 <td class="entry_description">
8830 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008831 light.<wbr>
8832<br>
8833<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8834 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8835
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008836 </td>
8837
8838 <td class="entry_units">
8839 nanoseconds
8840 </td>
8841
8842 <td class="entry_range">
8843 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8844 </td>
8845
8846 <td class="entry_notes">
8847 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8848 </td>
8849
8850 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008851 <ul class="entry_tags">
8852 <li><a href="#tag_V1">V1</a></li>
8853 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008854 </td>
8855
8856 </tr> <!-- end of entry -->
8857
8858
8859 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8860 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8861 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008862 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008863
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008864 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008865
8866
8867 </td> <!-- entry_type -->
8868
8869 <td class="entry_description">
8870 Duration from start of frame exposure to
8871 start of next frame exposure
8872 </td>
8873
8874 <td class="entry_units">
8875 nanoseconds
8876 </td>
8877
8878 <td class="entry_range">
8879 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8880 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8881 </td>
8882
8883 <td class="entry_notes">
8884 Exposure time has priority,<wbr> so duration is set to
8885 max(duration,<wbr> exposure time + overhead)
8886 </td>
8887
8888 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008889 <ul class="entry_tags">
8890 <li><a href="#tag_V1">V1</a></li>
8891 <li><a href="#tag_BC">BC</a></li>
8892 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008893 </td>
8894
8895 </tr> <!-- end of entry -->
8896
8897
8898 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8899 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8900 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008901 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008902
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008903 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904
8905
8906 </td> <!-- entry_type -->
8907
8908 <td class="entry_description">
8909 Gain applied to image data.<wbr> Must be
8910 implemented through analog gain only if set to values
8911 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008912<br>
8913<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8914 gain to the nearest possible value (rather than gain more).<wbr>
8915
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008916 </td>
8917
8918 <td class="entry_units">
8919 ISO arithmetic units
8920 </td>
8921
8922 <td class="entry_range">
8923 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8924 </td>
8925
8926 <td class="entry_notes">
8927 ISO 12232:2006 REI method
8928 </td>
8929
8930 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008931 <ul class="entry_tags">
8932 <li><a href="#tag_V1">V1</a></li>
8933 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008934 </td>
8935
8936 </tr> <!-- end of entry -->
8937
8938
8939 <tr class="entry" id="dynamic_android.sensor.timestamp">
8940 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008942 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008945
8946
8947 </td> <!-- entry_type -->
8948
8949 <td class="entry_description">
8950 Time at start of exposure of first
8951 row
8952 </td>
8953
8954 <td class="entry_units">
8955 nanoseconds
8956 </td>
8957
8958 <td class="entry_range">
8959 > 0
8960 </td>
8961
8962 <td class="entry_notes">
8963 Monotonic,<wbr> should be synced to other timestamps in
8964 system
8965 </td>
8966
8967 <td class="entry_tags">
8968 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008969 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008970 </ul>
8971 </td>
8972
8973 </tr> <!-- end of entry -->
8974
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008975
8976 <tr class="entry" id="dynamic_android.sensor.temperature">
8977 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8978 <td class="entry_type">
8979 <span class="entry_type_name">float</span>
8980
8981 <span class="entry_type_visibility"> [public]</span>
8982
8983
8984 </td> <!-- entry_type -->
8985
8986 <td class="entry_description">
8987 The temperature of the sensor,<wbr> sampled at the time
8988 exposure began for this frame.<wbr>
8989<br>
8990<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
8991 somewhere close to it.<wbr>
8992
8993 </td>
8994
8995 <td class="entry_units">
8996 celsius
8997 </td>
8998
8999 <td class="entry_range">
9000 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9001 </td>
9002
9003 <td class="entry_notes">
9004 </td>
9005
9006 <td class="entry_tags">
9007 </td>
9008
9009 </tr> <!-- end of entry -->
9010
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009011
9012
9013 <!-- end of kind -->
9014 </tbody>
9015
9016 <!-- end of section -->
9017 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9018
9019
9020 <tr><td colspan="7" class="kind">controls</td></tr>
9021
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009022 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009023 <tr>
9024 <th class="th_name">Property Name</th>
9025 <th class="th_type">Type</th>
9026 <th class="th_description">Description</th>
9027 <th class="th_units">Units</th>
9028 <th class="th_range">Range</th>
9029 <th class="th_notes">Notes</th>
9030 <th class="th_tags">Tags</th>
9031 </tr>
9032 </thead>
9033
9034 <tbody>
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045 <tr class="entry" id="controls_android.shading.mode">
9046 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9047 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009048 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009050 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009051
9052 <ul class="entry_type_enum">
9053 <li>
9054 <span class="entry_type_enum_name">OFF</span>
9055 <span class="entry_type_enum_notes">No shading correction is applied</span>
9056 </li>
9057 <li>
9058 <span class="entry_type_enum_name">FAST</span>
9059 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9060 bayer output</span>
9061 </li>
9062 <li>
9063 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9064 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9065 quality</span>
9066 </li>
9067 </ul>
9068
9069 </td> <!-- entry_type -->
9070
9071 <td class="entry_description">
9072 Quality of lens shading correction applied
9073 to the image data
9074 </td>
9075
9076 <td class="entry_units">
9077 </td>
9078
9079 <td class="entry_range">
9080 </td>
9081
9082 <td class="entry_notes">
9083 </td>
9084
9085 <td class="entry_tags">
9086 </td>
9087
9088 </tr> <!-- end of entry -->
9089
9090
9091 <tr class="entry" id="controls_android.shading.strength">
9092 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9093 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009094 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009095
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009096 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097
9098
9099 </td> <!-- entry_type -->
9100
9101 <td class="entry_description">
9102 Control the amount of shading correction
9103 applied to the images
9104 </td>
9105
9106 <td class="entry_units">
9107 unitless: 1-10; 10 is full shading
9108 compensation
9109 </td>
9110
9111 <td class="entry_range">
9112 </td>
9113
9114 <td class="entry_notes">
9115 </td>
9116
9117 <td class="entry_tags">
9118 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009119 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009120 </ul>
9121 </td>
9122
9123 </tr> <!-- end of entry -->
9124
9125
9126
9127 <!-- end of kind -->
9128 </tbody>
9129 <tr><td colspan="7" class="kind">dynamic</td></tr>
9130
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009131 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009132 <tr>
9133 <th class="th_name">Property Name</th>
9134 <th class="th_type">Type</th>
9135 <th class="th_description">Description</th>
9136 <th class="th_units">Units</th>
9137 <th class="th_range">Range</th>
9138 <th class="th_notes">Notes</th>
9139 <th class="th_tags">Tags</th>
9140 </tr>
9141 </thead>
9142
9143 <tbody>
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154 <tr class="entry" id="dynamic_android.shading.mode">
9155 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009157 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009158
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009159 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009160
9161 <ul class="entry_type_enum">
9162 <li>
9163 <span class="entry_type_enum_name">OFF</span>
9164 <span class="entry_type_enum_notes">No shading correction is applied</span>
9165 </li>
9166 <li>
9167 <span class="entry_type_enum_name">FAST</span>
9168 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9169 bayer output</span>
9170 </li>
9171 <li>
9172 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9173 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9174 quality</span>
9175 </li>
9176 </ul>
9177
9178 </td> <!-- entry_type -->
9179
9180 <td class="entry_description">
9181 Quality of lens shading correction applied
9182 to the image data
9183 </td>
9184
9185 <td class="entry_units">
9186 </td>
9187
9188 <td class="entry_range">
9189 </td>
9190
9191 <td class="entry_notes">
9192 </td>
9193
9194 <td class="entry_tags">
9195 </td>
9196
9197 </tr> <!-- end of entry -->
9198
9199
9200
9201 <!-- end of kind -->
9202 </tbody>
9203
9204 <!-- end of section -->
9205 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9206
9207
9208 <tr><td colspan="7" class="kind">controls</td></tr>
9209
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009210 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009211 <tr>
9212 <th class="th_name">Property Name</th>
9213 <th class="th_type">Type</th>
9214 <th class="th_description">Description</th>
9215 <th class="th_units">Units</th>
9216 <th class="th_range">Range</th>
9217 <th class="th_notes">Notes</th>
9218 <th class="th_tags">Tags</th>
9219 </tr>
9220 </thead>
9221
9222 <tbody>
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9234 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9235 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009236 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009237
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009238 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009239
9240 <ul class="entry_type_enum">
9241 <li>
9242 <span class="entry_type_enum_name">OFF</span>
9243 </li>
9244 <li>
9245 <span class="entry_type_enum_name">SIMPLE</span>
9246 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9247 only</span>
9248 </li>
9249 <li>
9250 <span class="entry_type_enum_name">FULL</span>
9251 <span class="entry_type_enum_notes">Optional Return all face
9252 metadata</span>
9253 </li>
9254 </ul>
9255
9256 </td> <!-- entry_type -->
9257
9258 <td class="entry_description">
9259 State of the face detector
9260 unit
9261 </td>
9262
9263 <td class="entry_units">
9264 </td>
9265
9266 <td class="entry_range">
9267
Zhijun He69fc0ea2013-07-17 09:42:58 -07009268 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009269 </td>
9270
9271 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009272 Whether face detection is enabled,<wbr> and whether it
9273 should output just the basic fields or the full set of
9274 fields.<wbr> Value must be one of the
9275 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009276 </td>
9277
9278 <td class="entry_tags">
9279 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009280 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009281 </ul>
9282 </td>
9283
9284 </tr> <!-- end of entry -->
9285
9286
9287 <tr class="entry" id="controls_android.statistics.histogramMode">
9288 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9289 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009290 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009291
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009292 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009293
9294 <ul class="entry_type_enum">
9295 <li>
9296 <span class="entry_type_enum_name">OFF</span>
9297 </li>
9298 <li>
9299 <span class="entry_type_enum_name">ON</span>
9300 </li>
9301 </ul>
9302
9303 </td> <!-- entry_type -->
9304
9305 <td class="entry_description">
9306 Operating mode for histogram
9307 generation
9308 </td>
9309
9310 <td class="entry_units">
9311 </td>
9312
9313 <td class="entry_range">
9314 </td>
9315
9316 <td class="entry_notes">
9317 </td>
9318
9319 <td class="entry_tags">
9320 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009321 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009322 </ul>
9323 </td>
9324
9325 </tr> <!-- end of entry -->
9326
9327
9328 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9329 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9330 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009331 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009332
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009333 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009334
9335 <ul class="entry_type_enum">
9336 <li>
9337 <span class="entry_type_enum_name">OFF</span>
9338 </li>
9339 <li>
9340 <span class="entry_type_enum_name">ON</span>
9341 </li>
9342 </ul>
9343
9344 </td> <!-- entry_type -->
9345
9346 <td class="entry_description">
9347 Operating mode for sharpness map
9348 generation
9349 </td>
9350
9351 <td class="entry_units">
9352 </td>
9353
9354 <td class="entry_range">
9355 </td>
9356
9357 <td class="entry_notes">
9358 </td>
9359
9360 <td class="entry_tags">
9361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009363 </ul>
9364 </td>
9365
9366 </tr> <!-- end of entry -->
9367
Zhijun He69fc0ea2013-07-17 09:42:58 -07009368
9369 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9370 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9371 <td class="entry_type">
9372 <span class="entry_type_name entry_type_name_enum">byte</span>
9373
9374 <span class="entry_type_visibility"> [public]</span>
9375
9376 <ul class="entry_type_enum">
9377 <li>
9378 <span class="entry_type_enum_name">OFF</span>
9379 </li>
9380 <li>
9381 <span class="entry_type_enum_name">ON</span>
9382 </li>
9383 </ul>
9384
9385 </td> <!-- entry_type -->
9386
9387 <td class="entry_description">
9388 Whether the HAL needs to output the lens
9389 shading map in output result metadata
9390 </td>
9391
9392 <td class="entry_units">
9393 </td>
9394
9395 <td class="entry_range">
9396 </td>
9397
9398 <td class="entry_notes">
9399 When set to ON,<wbr>
9400 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9401 the output result metdata.<wbr>
9402 </td>
9403
9404 <td class="entry_tags">
9405 </td>
9406
9407 </tr> <!-- end of entry -->
9408
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009409
9410
9411 <!-- end of kind -->
9412 </tbody>
9413 <tr><td colspan="7" class="kind">static</td></tr>
9414
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009415 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009416 <tr>
9417 <th class="th_name">Property Name</th>
9418 <th class="th_type">Type</th>
9419 <th class="th_description">Description</th>
9420 <th class="th_units">Units</th>
9421 <th class="th_range">Range</th>
9422 <th class="th_notes">Notes</th>
9423 <th class="th_tags">Tags</th>
9424 </tr>
9425 </thead>
9426
9427 <tbody>
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9441 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9442 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009443 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009444 <span class="entry_type_container">x</span>
9445
9446 <span class="entry_type_array">
9447 n
9448 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009449 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009450 <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 -08009451
9452
9453 </td> <!-- entry_type -->
9454
9455 <td class="entry_description">
9456 Which face detection modes are available,<wbr>
9457 if any
9458 </td>
9459
9460 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009461 List of enum:
9462 OFF
9463 SIMPLE
9464 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009465 </td>
9466
9467 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009468 </td>
9469
9470 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009471 OFF means face detection is disabled,<wbr> it must
9472 be included in the list.<wbr>
9473<br>
9474<br> SIMPLE means the device supports the
9475 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9476 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9477<br>
9478<br> FULL means the device additionally supports the
9479 android.<wbr>statistics.<wbr>face<wbr>Ids and
9480 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9481
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009482 </td>
9483
9484 <td class="entry_tags">
9485 </td>
9486
9487 </tr> <!-- end of entry -->
9488
9489
9490 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9491 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9492 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009493 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009494
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009495 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009496
9497
9498 </td> <!-- entry_type -->
9499
9500 <td class="entry_description">
9501 Number of histogram buckets
9502 supported
9503 </td>
9504
9505 <td class="entry_units">
9506 </td>
9507
9508 <td class="entry_range">
9509 >= 64
9510 </td>
9511
9512 <td class="entry_notes">
9513 </td>
9514
9515 <td class="entry_tags">
9516 </td>
9517
9518 </tr> <!-- end of entry -->
9519
9520
9521 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9522 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9523 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009524 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009525
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009527
9528
9529 </td> <!-- entry_type -->
9530
9531 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009532 Maximum number of simultaneously detectable
9533 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009534 </td>
9535
9536 <td class="entry_units">
9537 </td>
9538
9539 <td class="entry_range">
9540 >= 4 if availableFaceDetectionModes lists
9541 modes besides OFF,<wbr> otherwise 0
9542 </td>
9543
9544 <td class="entry_notes">
9545 </td>
9546
9547 <td class="entry_tags">
9548 </td>
9549
9550 </tr> <!-- end of entry -->
9551
9552
9553 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9554 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9555 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009556 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009557
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009558 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009559
9560
9561 </td> <!-- entry_type -->
9562
9563 <td class="entry_description">
9564 Maximum value possible for a histogram
9565 bucket
9566 </td>
9567
9568 <td class="entry_units">
9569 </td>
9570
9571 <td class="entry_range">
9572 </td>
9573
9574 <td class="entry_notes">
9575 </td>
9576
9577 <td class="entry_tags">
9578 </td>
9579
9580 </tr> <!-- end of entry -->
9581
9582
9583 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9584 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9585 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009586 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009587
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009588 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009589
9590
9591 </td> <!-- entry_type -->
9592
9593 <td class="entry_description">
9594 Maximum value possible for a sharpness map
9595 region.<wbr>
9596 </td>
9597
9598 <td class="entry_units">
9599 </td>
9600
9601 <td class="entry_range">
9602 </td>
9603
9604 <td class="entry_notes">
9605 </td>
9606
9607 <td class="entry_tags">
9608 </td>
9609
9610 </tr> <!-- end of entry -->
9611
9612
9613 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9614 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009616 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009617 <span class="entry_type_container">x</span>
9618
9619 <span class="entry_type_array">
9620 2
9621 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009622 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009623 <div class="entry_type_notes">width x height</div>
9624
9625
9626 </td> <!-- entry_type -->
9627
9628 <td class="entry_description">
9629 Dimensions of the sharpness
9630 map
9631 </td>
9632
9633 <td class="entry_units">
9634 </td>
9635
9636 <td class="entry_range">
9637 Must be at least 32 x 32
9638 </td>
9639
9640 <td class="entry_notes">
9641 </td>
9642
9643 <td class="entry_tags">
9644 </td>
9645
9646 </tr> <!-- end of entry -->
9647
9648
9649
9650
9651
9652
9653 <!-- end of kind -->
9654 </tbody>
9655 <tr><td colspan="7" class="kind">dynamic</td></tr>
9656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009657 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009658 <tr>
9659 <th class="th_name">Property Name</th>
9660 <th class="th_type">Type</th>
9661 <th class="th_description">Description</th>
9662 <th class="th_units">Units</th>
9663 <th class="th_range">Range</th>
9664 <th class="th_notes">Notes</th>
9665 <th class="th_tags">Tags</th>
9666 </tr>
9667 </thead>
9668
9669 <tbody>
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9681 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9682 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009683 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009684
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009685 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009686
9687 <ul class="entry_type_enum">
9688 <li>
9689 <span class="entry_type_enum_name">OFF</span>
9690 </li>
9691 <li>
9692 <span class="entry_type_enum_name">SIMPLE</span>
9693 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9694 only</span>
9695 </li>
9696 <li>
9697 <span class="entry_type_enum_name">FULL</span>
9698 <span class="entry_type_enum_notes">Optional Return all face
9699 metadata</span>
9700 </li>
9701 </ul>
9702
9703 </td> <!-- entry_type -->
9704
9705 <td class="entry_description">
9706 State of the face detector
9707 unit
9708 </td>
9709
9710 <td class="entry_units">
9711 </td>
9712
9713 <td class="entry_range">
9714
Zhijun He69fc0ea2013-07-17 09:42:58 -07009715 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009716 </td>
9717
9718 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009719 Whether face detection is enabled,<wbr> and whether it
9720 should output just the basic fields or the full set of
9721 fields.<wbr> Value must be one of the
9722 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009723 </td>
9724
9725 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009726 <ul class="entry_tags">
9727 <li><a href="#tag_BC">BC</a></li>
9728 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009729 </td>
9730
9731 </tr> <!-- end of entry -->
9732
9733
9734 <tr class="entry" id="dynamic_android.statistics.faceIds">
9735 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9736 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009737 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009738 <span class="entry_type_container">x</span>
9739
9740 <span class="entry_type_array">
9741 n
9742 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009743 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009744
9745
9746 </td> <!-- entry_type -->
9747
9748 <td class="entry_description">
9749 List of unique IDs for detected
9750 faces
9751 </td>
9752
9753 <td class="entry_units">
9754 </td>
9755
9756 <td class="entry_range">
9757 </td>
9758
9759 <td class="entry_notes">
9760 Only available if faceDetectMode == FULL
9761 </td>
9762
9763 <td class="entry_tags">
9764 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009765 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009766 </ul>
9767 </td>
9768
9769 </tr> <!-- end of entry -->
9770
9771
9772 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9773 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9774 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009775 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009776 <span class="entry_type_container">x</span>
9777
9778 <span class="entry_type_array">
9779 n x 6
9780 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009781 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009782 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9783
9784
9785 </td> <!-- entry_type -->
9786
9787 <td class="entry_description">
9788 List of landmarks for detected
9789 faces
9790 </td>
9791
9792 <td class="entry_units">
9793 </td>
9794
9795 <td class="entry_range">
9796 </td>
9797
9798 <td class="entry_notes">
9799 Only available if faceDetectMode == FULL
9800 </td>
9801
9802 <td class="entry_tags">
9803 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009804 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009805 </ul>
9806 </td>
9807
9808 </tr> <!-- end of entry -->
9809
9810
9811 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9812 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9813 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009814 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009815 <span class="entry_type_container">x</span>
9816
9817 <span class="entry_type_array">
9818 n x 4
9819 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009820 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009821 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9822
9823
9824 </td> <!-- entry_type -->
9825
9826 <td class="entry_description">
9827 List of the bounding rectangles for detected
9828 faces
9829 </td>
9830
9831 <td class="entry_units">
9832 </td>
9833
9834 <td class="entry_range">
9835 </td>
9836
9837 <td class="entry_notes">
9838 Only available if faceDetectMode != OFF
9839 </td>
9840
9841 <td class="entry_tags">
9842 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009843 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009844 </ul>
9845 </td>
9846
9847 </tr> <!-- end of entry -->
9848
9849
9850 <tr class="entry" id="dynamic_android.statistics.faceScores">
9851 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009853 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009854 <span class="entry_type_container">x</span>
9855
9856 <span class="entry_type_array">
9857 n
9858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009859 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860
9861
9862 </td> <!-- entry_type -->
9863
9864 <td class="entry_description">
9865 List of the face confidence scores for
9866 detected faces
9867 </td>
9868
9869 <td class="entry_units">
9870 </td>
9871
9872 <td class="entry_range">
9873 0-100
9874 </td>
9875
9876 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009877 Only available if faceDetectMode != OFF.<wbr> The value should be
9878 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009879 </td>
9880
9881 <td class="entry_tags">
9882 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009883 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009884 </ul>
9885 </td>
9886
9887 </tr> <!-- end of entry -->
9888
9889
9890 <tr class="entry" id="dynamic_android.statistics.histogram">
9891 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9892 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009893 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009894 <span class="entry_type_container">x</span>
9895
9896 <span class="entry_type_array">
9897 n x 3
9898 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009899 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009900 <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>
9901
9902
9903 </td> <!-- entry_type -->
9904
9905 <td class="entry_description">
9906 A 3-channel histogram based on the raw
9907 sensor data
9908 </td>
9909
9910 <td class="entry_units">
9911 </td>
9912
9913 <td class="entry_range">
9914 </td>
9915
9916 <td class="entry_notes">
9917 The k'th bucket (0-based) covers the input range
9918 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9919 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9920 supported,<wbr> all channels should have the same data
9921 </td>
9922
9923 <td class="entry_tags">
9924 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009925 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009926 </ul>
9927 </td>
9928
9929 </tr> <!-- end of entry -->
9930
9931
9932 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9933 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9934 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009935 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009936
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009937 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009938
9939 <ul class="entry_type_enum">
9940 <li>
9941 <span class="entry_type_enum_name">OFF</span>
9942 </li>
9943 <li>
9944 <span class="entry_type_enum_name">ON</span>
9945 </li>
9946 </ul>
9947
9948 </td> <!-- entry_type -->
9949
9950 <td class="entry_description">
9951 Operating mode for histogram
9952 generation
9953 </td>
9954
9955 <td class="entry_units">
9956 </td>
9957
9958 <td class="entry_range">
9959 </td>
9960
9961 <td class="entry_notes">
9962 </td>
9963
9964 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009965 <ul class="entry_tags">
9966 <li><a href="#tag_V1">V1</a></li>
9967 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009968 </td>
9969
9970 </tr> <!-- end of entry -->
9971
9972
9973 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9974 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9975 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009976 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009977 <span class="entry_type_container">x</span>
9978
9979 <span class="entry_type_array">
9980 n x m x 3
9981 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009982 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009983 <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>
9984
9985
9986 </td> <!-- entry_type -->
9987
9988 <td class="entry_description">
9989 A 3-channel sharpness map,<wbr> based on the raw
9990 sensor data
9991 </td>
9992
9993 <td class="entry_units">
9994 </td>
9995
9996 <td class="entry_range">
9997 </td>
9998
9999 <td class="entry_notes">
10000 If only a monochrome sharpness map is supported,<wbr>
10001 all channels should have the same data
10002 </td>
10003
10004 <td class="entry_tags">
10005 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010006 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010007 </ul>
10008 </td>
10009
10010 </tr> <!-- end of entry -->
10011
10012
10013 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10014 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010016 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010017
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010018 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010019
10020 <ul class="entry_type_enum">
10021 <li>
10022 <span class="entry_type_enum_name">OFF</span>
10023 </li>
10024 <li>
10025 <span class="entry_type_enum_name">ON</span>
10026 </li>
10027 </ul>
10028
10029 </td> <!-- entry_type -->
10030
10031 <td class="entry_description">
10032 Operating mode for sharpness map
10033 generation
10034 </td>
10035
10036 <td class="entry_units">
10037 </td>
10038
10039 <td class="entry_range">
10040 </td>
10041
10042 <td class="entry_notes">
10043 </td>
10044
10045 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010046 <ul class="entry_tags">
10047 <li><a href="#tag_V1">V1</a></li>
10048 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010049 </td>
10050
10051 </tr> <!-- end of entry -->
10052
Zhijun He69fc0ea2013-07-17 09:42:58 -070010053
10054 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10055 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10056 <td class="entry_type">
10057 <span class="entry_type_name">float</span>
10058 <span class="entry_type_container">x</span>
10059
10060 <span class="entry_type_array">
10061 4 x n x m
10062 </span>
10063 <span class="entry_type_visibility"> [public]</span>
10064 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10065
10066
10067 </td> <!-- entry_type -->
10068
10069 <td class="entry_description">
10070 A low-resolution map of lens shading,<wbr> per
10071 color channel
10072 </td>
10073
10074 <td class="entry_units">
10075 </td>
10076
10077 <td class="entry_range">
10078 Each gain factor is >= 1
10079 </td>
10080
10081 <td class="entry_notes">
10082 Assume bilinear interpolation of map.<wbr> The least
10083 shaded section of the image should have a gain factor
10084 of 1; all other sections should have gains above 1.<wbr>
10085 the map should be on the order of 30-40 rows,<wbr> and
10086 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010087<br>
10088<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10089 must take into account the colorCorrection settings.<wbr>
10090
Zhijun He69fc0ea2013-07-17 09:42:58 -070010091 </td>
10092
10093 <td class="entry_tags">
10094 </td>
10095
10096 </tr> <!-- end of entry -->
10097
10098
10099 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10100 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10101 <td class="entry_type">
10102 <span class="entry_type_name">float</span>
10103 <span class="entry_type_container">x</span>
10104
10105 <span class="entry_type_array">
10106 4
10107 </span>
10108 <span class="entry_type_visibility"> [public]</span>
10109 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10110
10111
10112 </td> <!-- entry_type -->
10113
10114 <td class="entry_description">
10115 The best-fit color channel gains calculated
10116 by the HAL's statistics units for the current output frame
10117
10118 </td>
10119
10120 <td class="entry_units">
10121 </td>
10122
10123 <td class="entry_range">
10124 </td>
10125
10126 <td class="entry_notes">
10127
10128 This may be different than the gains used for this frame,<wbr>
10129 since statistics processing on data from a new frame
10130 typically completes after the transform has already been
10131 applied to that frame.<wbr>
10132<br>
10133<br> The 4 channel gains are defined in Bayer domain,<wbr>
10134 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010135<br>
10136<br> This value should always be calculated by the AWB block,<wbr>
10137 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10138
Zhijun He69fc0ea2013-07-17 09:42:58 -070010139 </td>
10140
10141 <td class="entry_tags">
10142 </td>
10143
10144 </tr> <!-- end of entry -->
10145
10146
10147 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10148 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10149 <td class="entry_type">
10150 <span class="entry_type_name">rational</span>
10151 <span class="entry_type_container">x</span>
10152
10153 <span class="entry_type_array">
10154 3 x 3
10155 </span>
10156 <span class="entry_type_visibility"> [public]</span>
10157 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10158
10159
10160 </td> <!-- entry_type -->
10161
10162 <td class="entry_description">
10163 The best-fit color transform matrix estimate
10164 calculated by the HAL's statistics units for the current
10165 output frame
10166 </td>
10167
10168 <td class="entry_units">
10169 </td>
10170
10171 <td class="entry_range">
10172 </td>
10173
10174 <td class="entry_notes">
10175 The HAL must provide the estimate from its
10176 statistics unit on the white balance transforms to use
10177 for the next frame.<wbr> These are the values the HAL believes
10178 are the best fit for the current output frame.<wbr> This may
10179 be different than the transform used for this frame,<wbr> since
10180 statistics processing on data from a new frame typically
10181 completes after the transform has already been applied to
10182 that frame.<wbr>
10183<br>
10184<br> These estimates must be provided for all frames,<wbr> even if
10185 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010186<br>
10187<br> This value should always be calculated by the AWB block,<wbr>
10188 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010189
10190 </td>
10191
10192 <td class="entry_tags">
10193 </td>
10194
10195 </tr> <!-- end of entry -->
10196
10197
10198 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10199 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10200 <td class="entry_type">
10201 <span class="entry_type_name entry_type_name_enum">byte</span>
10202
10203 <span class="entry_type_visibility"> [public]</span>
10204
10205 <ul class="entry_type_enum">
10206 <li>
10207 <span class="entry_type_enum_name">NONE</span>
10208 </li>
10209 <li>
10210 <span class="entry_type_enum_name">50HZ</span>
10211 </li>
10212 <li>
10213 <span class="entry_type_enum_name">60HZ</span>
10214 </li>
10215 </ul>
10216
10217 </td> <!-- entry_type -->
10218
10219 <td class="entry_description">
10220 The HAL estimated scene illumination lighting
10221 frequency
10222 </td>
10223
10224 <td class="entry_units">
10225 </td>
10226
10227 <td class="entry_range">
10228 </td>
10229
10230 <td class="entry_notes">
10231 Report NONE if there doesn't appear to be flickering
10232 illumination
10233 </td>
10234
10235 <td class="entry_tags">
10236 </td>
10237
10238 </tr> <!-- end of entry -->
10239
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010240
10241
10242 <!-- end of kind -->
10243 </tbody>
10244
10245 <!-- end of section -->
10246 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10247
10248
10249 <tr><td colspan="7" class="kind">controls</td></tr>
10250
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010251 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010252 <tr>
10253 <th class="th_name">Property Name</th>
10254 <th class="th_type">Type</th>
10255 <th class="th_description">Description</th>
10256 <th class="th_units">Units</th>
10257 <th class="th_range">Range</th>
10258 <th class="th_notes">Notes</th>
10259 <th class="th_tags">Tags</th>
10260 </tr>
10261 </thead>
10262
10263 <tbody>
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274 <tr class="entry" id="controls_android.tonemap.curveBlue">
10275 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10276 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010277 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010278 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010279
Zhijun He704d1282013-08-19 15:26:33 -070010280 <span class="entry_type_array">
10281 n x 2
10282 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010283 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010284 <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 -080010285
10286
10287 </td> <!-- entry_type -->
10288
10289 <td class="entry_description">
10290 Table mapping blue input values to output
10291 values
10292 </td>
10293
10294 <td class="entry_units">
10295 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10296 </td>
10297
10298 <td class="entry_range">
10299 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10300 </td>
10301
10302 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010303 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10304 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10305<br>
10306<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010307 </td>
10308
10309 <td class="entry_tags">
10310 </td>
10311
10312 </tr> <!-- end of entry -->
10313
10314
10315 <tr class="entry" id="controls_android.tonemap.curveGreen">
10316 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10317 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010318 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010319 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010320
Zhijun He704d1282013-08-19 15:26:33 -070010321 <span class="entry_type_array">
10322 n x 2
10323 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010324 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010325 <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 -080010326
10327
10328 </td> <!-- entry_type -->
10329
10330 <td class="entry_description">
10331 Table mapping green input values to output
10332 values
10333 </td>
10334
10335 <td class="entry_units">
10336 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10337 </td>
10338
10339 <td class="entry_range">
10340 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10341 </td>
10342
10343 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010344 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10345 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10346<br>
10347<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010348 </td>
10349
10350 <td class="entry_tags">
10351 </td>
10352
10353 </tr> <!-- end of entry -->
10354
10355
10356 <tr class="entry" id="controls_android.tonemap.curveRed">
10357 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10358 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010359 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010360 <span class="entry_type_container">x</span>
10361
10362 <span class="entry_type_array">
10363 n x 2
10364 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010365 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010366 <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 -080010367
10368
10369 </td> <!-- entry_type -->
10370
10371 <td class="entry_description">
10372 Table mapping red input values to output
10373 values
10374 </td>
10375
10376 <td class="entry_units">
10377 </td>
10378
10379 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010380 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010381 </td>
10382
10383 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010384 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10385 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10386<br>
10387<br> Since the input and output ranges may vary depending on
10388 the camera pipeline,<wbr> the input and output pixel values
10389 are represented by normalized floating-point values
10390 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10391<br>
10392<br> The curve should be linearly interpolated between the
10393 defined points.<wbr> The points will be listed in increasing
10394 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 -080010395 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10396 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10397 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10398 </td>
10399
10400 <td class="entry_tags">
10401 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010402 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010403 </ul>
10404 </td>
10405
10406 </tr> <!-- end of entry -->
10407
10408
10409 <tr class="entry" id="controls_android.tonemap.mode">
10410 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10411 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010412 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010413
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010414 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010415
10416 <ul class="entry_type_enum">
10417 <li>
10418 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10419 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10420 android.<wbr>tonemap.<wbr>curve</span>
10421 </li>
10422 <li>
10423 <span class="entry_type_enum_name">FAST</span>
10424 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10425 bayer output</span>
10426 </li>
10427 <li>
10428 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10429 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10430 quality</span>
10431 </li>
10432 </ul>
10433
10434 </td> <!-- entry_type -->
10435
10436 <td class="entry_description">
10437 </td>
10438
10439 <td class="entry_units">
10440 </td>
10441
10442 <td class="entry_range">
10443 </td>
10444
10445 <td class="entry_notes">
10446 </td>
10447
10448 <td class="entry_tags">
10449 </td>
10450
10451 </tr> <!-- end of entry -->
10452
10453
10454
10455 <!-- end of kind -->
10456 </tbody>
10457 <tr><td colspan="7" class="kind">static</td></tr>
10458
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010459 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010460 <tr>
10461 <th class="th_name">Property Name</th>
10462 <th class="th_type">Type</th>
10463 <th class="th_description">Description</th>
10464 <th class="th_units">Units</th>
10465 <th class="th_range">Range</th>
10466 <th class="th_notes">Notes</th>
10467 <th class="th_tags">Tags</th>
10468 </tr>
10469 </thead>
10470
10471 <tbody>
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10483 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10484 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010485 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010486
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010487 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010488
10489
10490 </td> <!-- entry_type -->
10491
10492 <td class="entry_description">
10493 Maximum number of supported points in the
10494 tonemap curve
10495 </td>
10496
10497 <td class="entry_units">
10498 </td>
10499
10500 <td class="entry_range">
10501 >= 128
10502 </td>
10503
10504 <td class="entry_notes">
10505 </td>
10506
10507 <td class="entry_tags">
10508 </td>
10509
10510 </tr> <!-- end of entry -->
10511
10512
10513
10514 <!-- end of kind -->
10515 </tbody>
10516 <tr><td colspan="7" class="kind">dynamic</td></tr>
10517
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010518 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010519 <tr>
10520 <th class="th_name">Property Name</th>
10521 <th class="th_type">Type</th>
10522 <th class="th_description">Description</th>
10523 <th class="th_units">Units</th>
10524 <th class="th_range">Range</th>
10525 <th class="th_notes">Notes</th>
10526 <th class="th_tags">Tags</th>
10527 </tr>
10528 </thead>
10529
10530 <tbody>
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10542 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10543 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010544 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010545 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010546
Zhijun He704d1282013-08-19 15:26:33 -070010547 <span class="entry_type_array">
10548 n x 2
10549 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010550 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010551 <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 -080010552
10553
10554 </td> <!-- entry_type -->
10555
10556 <td class="entry_description">
10557 Table mapping blue input values to output
10558 values
10559 </td>
10560
10561 <td class="entry_units">
10562 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10563 </td>
10564
10565 <td class="entry_range">
10566 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10567 </td>
10568
10569 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010570 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10571 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10572<br>
10573<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010574 </td>
10575
10576 <td class="entry_tags">
10577 </td>
10578
10579 </tr> <!-- end of entry -->
10580
10581
10582 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10583 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10584 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010585 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010586 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010587
Zhijun He704d1282013-08-19 15:26:33 -070010588 <span class="entry_type_array">
10589 n x 2
10590 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010591 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010592 <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 -080010593
10594
10595 </td> <!-- entry_type -->
10596
10597 <td class="entry_description">
10598 Table mapping green input values to output
10599 values
10600 </td>
10601
10602 <td class="entry_units">
10603 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10604 </td>
10605
10606 <td class="entry_range">
10607 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10608 </td>
10609
10610 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010611 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10612 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10613<br>
10614<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010615 </td>
10616
10617 <td class="entry_tags">
10618 </td>
10619
10620 </tr> <!-- end of entry -->
10621
10622
10623 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10624 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010626 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010627 <span class="entry_type_container">x</span>
10628
10629 <span class="entry_type_array">
10630 n x 2
10631 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010632 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010633 <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 -080010634
10635
10636 </td> <!-- entry_type -->
10637
10638 <td class="entry_description">
10639 Table mapping red input values to output
10640 values
10641 </td>
10642
10643 <td class="entry_units">
10644 </td>
10645
10646 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010647 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010648 </td>
10649
10650 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010651 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10652 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10653<br>
10654<br> Since the input and output ranges may vary depending on
10655 the camera pipeline,<wbr> the input and output pixel values
10656 are represented by normalized floating-point values
10657 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10658<br>
10659<br> The curve should be linearly interpolated between the
10660 defined points.<wbr> The points will be listed in increasing
10661 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 -080010662 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10663 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10664 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10665 </td>
10666
10667 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010668 <ul class="entry_tags">
10669 <li><a href="#tag_DNG">DNG</a></li>
10670 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010671 </td>
10672
10673 </tr> <!-- end of entry -->
10674
10675
10676 <tr class="entry" id="dynamic_android.tonemap.mode">
10677 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010679 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010682
10683 <ul class="entry_type_enum">
10684 <li>
10685 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10686 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10687 android.<wbr>tonemap.<wbr>curve</span>
10688 </li>
10689 <li>
10690 <span class="entry_type_enum_name">FAST</span>
10691 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10692 bayer output</span>
10693 </li>
10694 <li>
10695 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10696 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10697 quality</span>
10698 </li>
10699 </ul>
10700
10701 </td> <!-- entry_type -->
10702
10703 <td class="entry_description">
10704 </td>
10705
10706 <td class="entry_units">
10707 </td>
10708
10709 <td class="entry_range">
10710 </td>
10711
10712 <td class="entry_notes">
10713 </td>
10714
10715 <td class="entry_tags">
10716 </td>
10717
10718 </tr> <!-- end of entry -->
10719
10720
10721
10722 <!-- end of kind -->
10723 </tbody>
10724
10725 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010726 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10727
10728
10729 <tr><td colspan="7" class="kind">controls</td></tr>
10730
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010731 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010732 <tr>
10733 <th class="th_name">Property Name</th>
10734 <th class="th_type">Type</th>
10735 <th class="th_description">Description</th>
10736 <th class="th_units">Units</th>
10737 <th class="th_range">Range</th>
10738 <th class="th_notes">Notes</th>
10739 <th class="th_tags">Tags</th>
10740 </tr>
10741 </thead>
10742
10743 <tbody>
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754 <tr class="entry" id="controls_android.led.transmit">
10755 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10756 <td class="entry_type">
10757 <span class="entry_type_name entry_type_name_enum">byte</span>
10758
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010759 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010760
10761 <ul class="entry_type_enum">
10762 <li>
10763 <span class="entry_type_enum_name">OFF</span>
10764 </li>
10765 <li>
10766 <span class="entry_type_enum_name">ON</span>
10767 </li>
10768 </ul>
10769
10770 </td> <!-- entry_type -->
10771
10772 <td class="entry_description">
10773 This LED is nominally used to indicate to the user
10774 that the camera is powered on and may be streaming images back to the
10775 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10776 disable this when video is processed locally and not transmitted to
10777 any untrusted applications.<wbr>
10778<br>
10779<br> In particular,<wbr> the LED *must* always be on when the data could be
10780 transmitted off the device.<wbr> The LED *should* always be on whenever
10781 data is stored locally on the device.<wbr>
10782<br>
10783<br> The LED *may* be off if a trusted application is using the data that
10784 doesn't violate the above rules.<wbr>
10785
10786 </td>
10787
10788 <td class="entry_units">
10789 </td>
10790
10791 <td class="entry_range">
10792 </td>
10793
10794 <td class="entry_notes">
10795 </td>
10796
10797 <td class="entry_tags">
10798 </td>
10799
10800 </tr> <!-- end of entry -->
10801
10802
10803
10804 <!-- end of kind -->
10805 </tbody>
10806 <tr><td colspan="7" class="kind">dynamic</td></tr>
10807
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010808 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010809 <tr>
10810 <th class="th_name">Property Name</th>
10811 <th class="th_type">Type</th>
10812 <th class="th_description">Description</th>
10813 <th class="th_units">Units</th>
10814 <th class="th_range">Range</th>
10815 <th class="th_notes">Notes</th>
10816 <th class="th_tags">Tags</th>
10817 </tr>
10818 </thead>
10819
10820 <tbody>
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831 <tr class="entry" id="dynamic_android.led.transmit">
10832 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10833 <td class="entry_type">
10834 <span class="entry_type_name entry_type_name_enum">byte</span>
10835
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010836 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010837
10838 <ul class="entry_type_enum">
10839 <li>
10840 <span class="entry_type_enum_name">OFF</span>
10841 </li>
10842 <li>
10843 <span class="entry_type_enum_name">ON</span>
10844 </li>
10845 </ul>
10846
10847 </td> <!-- entry_type -->
10848
10849 <td class="entry_description">
10850 This LED is nominally used to indicate to the user
10851 that the camera is powered on and may be streaming images back to the
10852 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10853 disable this when video is processed locally and not transmitted to
10854 any untrusted applications.<wbr>
10855<br>
10856<br> In particular,<wbr> the LED *must* always be on when the data could be
10857 transmitted off the device.<wbr> The LED *should* always be on whenever
10858 data is stored locally on the device.<wbr>
10859<br>
10860<br> The LED *may* be off if a trusted application is using the data that
10861 doesn't violate the above rules.<wbr>
10862
10863 </td>
10864
10865 <td class="entry_units">
10866 </td>
10867
10868 <td class="entry_range">
10869 </td>
10870
10871 <td class="entry_notes">
10872 </td>
10873
10874 <td class="entry_tags">
10875 </td>
10876
10877 </tr> <!-- end of entry -->
10878
10879
10880
10881 <!-- end of kind -->
10882 </tbody>
10883 <tr><td colspan="7" class="kind">static</td></tr>
10884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010885 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010886 <tr>
10887 <th class="th_name">Property Name</th>
10888 <th class="th_type">Type</th>
10889 <th class="th_description">Description</th>
10890 <th class="th_units">Units</th>
10891 <th class="th_range">Range</th>
10892 <th class="th_notes">Notes</th>
10893 <th class="th_tags">Tags</th>
10894 </tr>
10895 </thead>
10896
10897 <tbody>
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908 <tr class="entry" id="static_android.led.availableLeds">
10909 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10910 <td class="entry_type">
10911 <span class="entry_type_name entry_type_name_enum">byte</span>
10912 <span class="entry_type_container">x</span>
10913
10914 <span class="entry_type_array">
10915 n
10916 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010917 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010918
10919 <ul class="entry_type_enum">
10920 <li>
10921 <span class="entry_type_enum_name">TRANSMIT</span>
10922 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10923 </li>
10924 </ul>
10925
10926 </td> <!-- entry_type -->
10927
10928 <td class="entry_description">
10929 A list of camera LEDs that are available on this system.<wbr>
10930
10931 </td>
10932
10933 <td class="entry_units">
10934 </td>
10935
10936 <td class="entry_range">
10937 </td>
10938
10939 <td class="entry_notes">
10940 </td>
10941
10942 <td class="entry_tags">
10943 </td>
10944
10945 </tr> <!-- end of entry -->
10946
10947
10948
10949 <!-- end of kind -->
10950 </tbody>
10951
10952 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010953 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10954
10955
10956 <tr><td colspan="7" class="kind">static</td></tr>
10957
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010958 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010959 <tr>
10960 <th class="th_name">Property Name</th>
10961 <th class="th_type">Type</th>
10962 <th class="th_description">Description</th>
10963 <th class="th_units">Units</th>
10964 <th class="th_range">Range</th>
10965 <th class="th_notes">Notes</th>
10966 <th class="th_tags">Tags</th>
10967 </tr>
10968 </thead>
10969
10970 <tbody>
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10982 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10983 <td class="entry_type">
10984 <span class="entry_type_name entry_type_name_enum">byte</span>
10985
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010986 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010987
10988 <ul class="entry_type_enum">
10989 <li>
10990 <span class="entry_type_enum_name">LIMITED</span>
10991 </li>
10992 <li>
10993 <span class="entry_type_enum_name">FULL</span>
10994 </li>
10995 </ul>
10996
10997 </td> <!-- entry_type -->
10998
10999 <td class="entry_description">
11000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011001 The camera 3 HAL device can implement one of two possible
11002 operational modes; limited and full.<wbr> Full support is
11003 expected from new higher-end devices.<wbr> Limited mode has
11004 hardware requirements roughly in line with those for a
11005 camera HAL device v1 implementation,<wbr> and is expected from
11006 older or inexpensive devices.<wbr> Full is a strict superset of
11007 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011008<br>
11009<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11010
11011 </td>
11012
11013 <td class="entry_units">
11014 </td>
11015
11016 <td class="entry_range">
11017 Optional.<wbr> Default value is LIMITED.<wbr>
11018 </td>
11019
11020 <td class="entry_notes">
11021 </td>
11022
11023 <td class="entry_tags">
11024 </td>
11025
11026 </tr> <!-- end of entry -->
11027
11028
11029
11030 <!-- end of kind -->
11031 </tbody>
11032
11033 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011034 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11035
11036
11037 <tr><td colspan="7" class="kind">controls</td></tr>
11038
11039 <thead class="entries_header">
11040 <tr>
11041 <th class="th_name">Property Name</th>
11042 <th class="th_type">Type</th>
11043 <th class="th_description">Description</th>
11044 <th class="th_units">Units</th>
11045 <th class="th_range">Range</th>
11046 <th class="th_notes">Notes</th>
11047 <th class="th_tags">Tags</th>
11048 </tr>
11049 </thead>
11050
11051 <tbody>
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062 <tr class="entry" id="controls_android.blackLevel.lock">
11063 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11064 <td class="entry_type">
11065 <span class="entry_type_name entry_type_name_enum">byte</span>
11066
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011067 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011068
11069 <ul class="entry_type_enum">
11070 <li>
11071 <span class="entry_type_enum_name">OFF</span>
11072 </li>
11073 <li>
11074 <span class="entry_type_enum_name">ON</span>
11075 </li>
11076 </ul>
11077
11078 </td> <!-- entry_type -->
11079
11080 <td class="entry_description">
11081 Whether black-level compensation is locked
11082 to its current values,<wbr> or is free to vary
11083 </td>
11084
11085 <td class="entry_units">
11086 </td>
11087
11088 <td class="entry_range">
11089 </td>
11090
11091 <td class="entry_notes">
11092 When set to ON,<wbr> the values used for black-level
11093 compensation must not change until the lock is set to
11094 OFF
11095<br>
11096<br> Since changes to certain capture parameters (such as
11097 exposure time) may require resetting of black level
11098 compensation,<wbr> the HAL must report whether setting the
11099 black level lock was successful in the output result
11100 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011101<br>
11102<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11103 If for some reason black level locking is no longer legal (for example,<wbr>
11104 the analog gain has changed,<wbr> which forces black levels to be
11105 recalculated),<wbr> then the HAL is free to override this request (and it
11106 must report 'OFF' when this does happen) until the next time locking
11107 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011108 </td>
11109
11110 <td class="entry_tags">
11111 <ul class="entry_tags">
11112 <li><a href="#tag_HAL2">HAL2</a></li>
11113 </ul>
11114 </td>
11115
11116 </tr> <!-- end of entry -->
11117
11118
11119
11120 <!-- end of kind -->
11121 </tbody>
11122 <tr><td colspan="7" class="kind">dynamic</td></tr>
11123
11124 <thead class="entries_header">
11125 <tr>
11126 <th class="th_name">Property Name</th>
11127 <th class="th_type">Type</th>
11128 <th class="th_description">Description</th>
11129 <th class="th_units">Units</th>
11130 <th class="th_range">Range</th>
11131 <th class="th_notes">Notes</th>
11132 <th class="th_tags">Tags</th>
11133 </tr>
11134 </thead>
11135
11136 <tbody>
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147 <tr class="entry" id="dynamic_android.blackLevel.lock">
11148 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11149 <td class="entry_type">
11150 <span class="entry_type_name entry_type_name_enum">byte</span>
11151
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011152 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011153
11154 <ul class="entry_type_enum">
11155 <li>
11156 <span class="entry_type_enum_name">OFF</span>
11157 </li>
11158 <li>
11159 <span class="entry_type_enum_name">ON</span>
11160 </li>
11161 </ul>
11162
11163 </td> <!-- entry_type -->
11164
11165 <td class="entry_description">
11166 Whether black-level compensation is locked
11167 to its current values,<wbr> or is free to vary
11168 </td>
11169
11170 <td class="entry_units">
11171 </td>
11172
11173 <td class="entry_range">
11174 </td>
11175
11176 <td class="entry_notes">
11177 When set to ON,<wbr> the values used for black-level
11178 compensation must not change until the lock is set to
11179 OFF
11180<br>
11181<br> Since changes to certain capture parameters (such as
11182 exposure time) may require resetting of black level
11183 compensation,<wbr> the HAL must report whether setting the
11184 black level lock was successful in the output result
11185 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011186<br>
11187<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11188 If for some reason black level locking is no longer legal (for example,<wbr>
11189 the analog gain has changed,<wbr> which forces black levels to be
11190 recalculated),<wbr> then the HAL is free to override this request (and it
11191 must report 'OFF' when this does happen) until the next time locking
11192 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011193 </td>
11194
11195 <td class="entry_tags">
11196 <ul class="entry_tags">
11197 <li><a href="#tag_HAL2">HAL2</a></li>
11198 </ul>
11199 </td>
11200
11201 </tr> <!-- end of entry -->
11202
11203
11204
11205 <!-- end of kind -->
11206 </tbody>
11207
11208 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011209<!-- </namespace> -->
11210 </table>
11211
11212 <div class="tags" id="tag_index">
11213 <h2>Tags</h2>
11214 <ul>
11215 <li id="tag_AWB">AWB -
11216 Needed for auto white balance
11217
11218 <ul class="tags_entries">
11219 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11220 </ul>
11221 </li> <!-- tag_AWB -->
11222 <li id="tag_BC">BC -
11223 Needed for backwards compatibility with old Java API
11224
11225 <ul class="tags_entries">
11226 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11227 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11228 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11229 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11230 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011231 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011232 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11233 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011234 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011235 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11236 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11237 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11238 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11239 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11240 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11241 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11242 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11243 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11244 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11245 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11246 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11247 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11248 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11249 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11250 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11251 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11252 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11253 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11254 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11255 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11256 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11257 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11258 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11259 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11260 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11261 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11262 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11263 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11264 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11265 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11266 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11267 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11268 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11269 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11270 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011271 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011272 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11273 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11274 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011275 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011276 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011277 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11278 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11279 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11280 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11281 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11282 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11283 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11284 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11285 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11286 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11287 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11288 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11289 </ul>
11290 </li> <!-- tag_BC -->
11291 <li id="tag_V1">V1 -
11292 New features for first camera 2 release (API1)
11293
11294 <ul class="tags_entries">
11295 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11296 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11297 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11298 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11299 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11300 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11301 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11302 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11303 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11304 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11305 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11306 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11307 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11308 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11309 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11310 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11311 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11312 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11313 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11314 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11315 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11316 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11317 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11318 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011319 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011320 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11321 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11322 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11323 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11324 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11325 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11326 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11327 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11328 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11329 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11330 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11331 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11332 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11333 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11334 </ul>
11335 </li> <!-- tag_V1 -->
11336 <li id="tag_ADV">ADV - None
11337 <ul class="tags_entries">
11338 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11339 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11340 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11341 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11342 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11343 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11344 </ul>
11345 </li> <!-- tag_ADV -->
11346 <li id="tag_DNG">DNG -
11347 Needed for DNG file support
11348
11349 <ul class="tags_entries">
11350 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011351 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11352 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11353 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11354 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11355 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11356 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11357 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11358 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11359 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11360 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11361 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11362 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11363 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11364 </ul>
11365 </li> <!-- tag_DNG -->
11366 <li id="tag_EXIF">EXIF - None
11367 <ul class="tags_entries">
11368 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11369 </ul>
11370 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011371 <li id="tag_HAL2">HAL2 -
11372 Tag only used by camera device HAL 2.x
11373
11374 <ul class="tags_entries">
11375 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11376 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11377 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011378 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011379 </ul>
11380 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011381 </ul>
11382 </div>
11383
11384 [ <a href="#">top</a> ]
11385
11386</body>
11387</html>