blob: 259bb721d4364fd22d812a53aca9152bf2f9ac68 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
389 </ul>
390 </li>
391 </ul> <!-- toc_section -->
392 </li>
393 <li>
394 <span class="toc_section_header"><a href="#section_request">request</a></span>
395 <ul class="toc_section">
396 <li>
397 <span class="toc_kind_header">controls</span>
398 <ul class="toc_section">
399 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
400 <li><a href="#controls_android.request.id">android.request.id</a></li>
401 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
402 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
403 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
404 <li><a href="#controls_android.request.type">android.request.type</a></li>
405 </ul>
406 </li>
407 <li>
408 <span class="toc_kind_header">static</span>
409 <ul class="toc_section">
410 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
411 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">dynamic</span>
416 <ul class="toc_section">
417 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
418 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
419 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
420 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
421 </ul>
422 </li>
423 </ul> <!-- toc_section -->
424 </li>
425 <li>
426 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
427 <ul class="toc_section">
428 <li>
429 <span class="toc_kind_header">controls</span>
430 <ul class="toc_section">
431 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
432 </ul>
433 </li>
434 <li>
435 <span class="toc_kind_header">static</span>
436 <ul class="toc_section">
437 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
438 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
439 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
440 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
441 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
442 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
443 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
444 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
445 </ul>
446 </li>
447 <li>
448 <span class="toc_kind_header">dynamic</span>
449 <ul class="toc_section">
450 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
451 </ul>
452 </li>
453 </ul> <!-- toc_section -->
454 </li>
455 <li>
456 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
457 <ul class="toc_section">
458 <li>
459 <span class="toc_kind_header">controls</span>
460 <ul class="toc_section">
461 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
462 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
463 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
464 </ul>
465 </li>
466 <li>
467 <span class="toc_kind_header">static</span>
468 <ul class="toc_section">
469
470 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700471 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700472 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
473 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
474 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
475 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
476 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
477 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
478
479 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
480 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
481 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
482 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
483 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
484 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
485 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
486 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
487 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
488 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
489 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
490 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
491 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
492 </ul>
493 </li>
494 <li>
495 <span class="toc_kind_header">dynamic</span>
496 <ul class="toc_section">
497 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
498 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
499 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
500 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700501 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700502 </ul>
503 </li>
504 </ul> <!-- toc_section -->
505 </li>
506 <li>
507 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
508 <ul class="toc_section">
509 <li>
510 <span class="toc_kind_header">controls</span>
511 <ul class="toc_section">
512 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
513 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
514 </ul>
515 </li>
516 <li>
517 <span class="toc_kind_header">dynamic</span>
518 <ul class="toc_section">
519 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
520 </ul>
521 </li>
522 </ul> <!-- toc_section -->
523 </li>
524 <li>
525 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
526 <ul class="toc_section">
527 <li>
528 <span class="toc_kind_header">controls</span>
529 <ul class="toc_section">
530 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
531 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
532 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700533 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">static</span>
538 <ul class="toc_section">
539
540 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
541 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
542 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
543 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
544 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
545 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
546
547 </ul>
548 </li>
549 <li>
550 <span class="toc_kind_header">dynamic</span>
551 <ul class="toc_section">
552 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
553 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
554 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
555 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
556 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
557 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
558 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
559 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
560 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700561 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
562 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
563 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
564 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700565 </ul>
566 </li>
567 </ul> <!-- toc_section -->
568 </li>
569 <li>
570 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
571 <ul class="toc_section">
572 <li>
573 <span class="toc_kind_header">controls</span>
574 <ul class="toc_section">
575 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
576 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
577 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
578 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
579 </ul>
580 </li>
581 <li>
582 <span class="toc_kind_header">static</span>
583 <ul class="toc_section">
584 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
585 </ul>
586 </li>
587 <li>
588 <span class="toc_kind_header">dynamic</span>
589 <ul class="toc_section">
590 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
591 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
592 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
593 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
594 </ul>
595 </li>
596 </ul> <!-- toc_section -->
597 </li>
598 <li>
599 <span class="toc_section_header"><a href="#section_led">led</a></span>
600 <ul class="toc_section">
601 <li>
602 <span class="toc_kind_header">controls</span>
603 <ul class="toc_section">
604 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
611 </ul>
612 </li>
613 <li>
614 <span class="toc_kind_header">static</span>
615 <ul class="toc_section">
616 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
617 </ul>
618 </li>
619 </ul> <!-- toc_section -->
620 </li>
621 <li>
622 <span class="toc_section_header"><a href="#section_info">info</a></span>
623 <ul class="toc_section">
624 <li>
625 <span class="toc_kind_header">static</span>
626 <ul class="toc_section">
627 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
628 </ul>
629 </li>
630 </ul> <!-- toc_section -->
631 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700632 <li>
633 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
634 <ul class="toc_section">
635 <li>
636 <span class="toc_kind_header">controls</span>
637 <ul class="toc_section">
638 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
639 </ul>
640 </li>
641 <li>
642 <span class="toc_kind_header">dynamic</span>
643 <ul class="toc_section">
644 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
645 </ul>
646 </li>
647 </ul> <!-- toc_section -->
648 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800649 </ul>
650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700651
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800652 <h1>Properties</h1>
653 <table class="properties">
654
655 <thead class="thead_dummy">
656 <tr>
657 <th class="th_name">Property Name</th>
658 <th class="th_type">Type</th>
659 <th class="th_description">Description</th>
660 <th class="th_units">Units</th>
661 <th class="th_range">Range</th>
662 <th class="th_notes">Notes</th>
663 <th class="th_tags">Tags</th>
664 </tr>
665 </thead> <!-- so that the first occurrence of thead is not
666 above the first occurrence of tr -->
667<!-- <namespace name="android"> -->
668 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
669
670
671 <tr><td colspan="7" class="kind">controls</td></tr>
672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 <tr>
675 <th class="th_name">Property Name</th>
676 <th class="th_type">Type</th>
677 <th class="th_description">Description</th>
678 <th class="th_units">Units</th>
679 <th class="th_range">Range</th>
680 <th class="th_notes">Notes</th>
681 <th class="th_tags">Tags</th>
682 </tr>
683 </thead>
684
685 <tbody>
686
687
688
689
690
691
692
693
694
695
696 <tr class="entry" id="controls_android.colorCorrection.mode">
697 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800702
703 <ul class="entry_type_enum">
704 <li>
705 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
706 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700707 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800708 </li>
709 <li>
710 <span class="entry_type_enum_name">FAST</span>
711 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
712 bayer output</span>
713 </li>
714 <li>
715 <span class="entry_type_enum_name">HIGH_QUALITY</span>
716 <span class="entry_type_enum_notes">Frame rate may be reduced by high
717 quality</span>
718 </li>
719 </ul>
720
721 </td> <!-- entry_type -->
722
723 <td class="entry_description">
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700733 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700734 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 </td>
736
737 <td class="entry_tags">
738 </td>
739
740 </tr> <!-- end of entry -->
741
742
743 <tr class="entry" id="controls_android.colorCorrection.transform">
744 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
745 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 <span class="entry_type_container">x</span>
748
749 <span class="entry_type_array">
750 3 x 3
751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700752 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700759 A color transform matrix to use to transform
760 from sensor RGB color space to output linear sRGB color space
761
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800762 </td>
763
764 <td class="entry_units">
765 </td>
766
767 <td class="entry_range">
768 Output values are expected to be in the range
769 (0,<wbr>1)
770 </td>
771
772 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700773 This matrix is either set by HAL when the request
774 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
775 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700776 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
777<br>
778<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700779 for precision issues; the final rounded matrix should be
780 reported back in this matrix result metadata.<wbr>
781 </td>
782
783 <td class="entry_tags">
784 </td>
785
786 </tr> <!-- end of entry -->
787
788
789 <tr class="entry" id="controls_android.colorCorrection.gains">
790 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
791 <td class="entry_type">
792 <span class="entry_type_name">float</span>
793 <span class="entry_type_container">x</span>
794
795 <span class="entry_type_array">
796 4
797 </span>
798 <span class="entry_type_visibility"> [public]</span>
799 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
800
801
802 </td> <!-- entry_type -->
803
804 <td class="entry_description">
805 Gains applying to Bayer color channels for
806 white-balance
807 </td>
808
809 <td class="entry_units">
810 </td>
811
812 <td class="entry_range">
813 </td>
814
815 <td class="entry_notes">
816 The 4-channel white-balance gains are defined in
817 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
818 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
819 is the gain for greenpixels on the odd rows.<wbr> if a HAL
820 does not support a separate gain for even/<wbr>odd green channels,<wbr>
821 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
822 G_<wbr>even in the output result metadata.<wbr>
823<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700824<br> This array is either set by HAL when the request
825 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
826 directly by the application in the request when the
827 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
828<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829<br> The ouput should be the gains actually applied by the HAL to
830 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831 </td>
832
833 <td class="entry_tags">
834 </td>
835
836 </tr> <!-- end of entry -->
837
838
839
840 <!-- end of kind -->
841 </tbody>
842 <tr><td colspan="7" class="kind">dynamic</td></tr>
843
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700844 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800845 <tr>
846 <th class="th_name">Property Name</th>
847 <th class="th_type">Type</th>
848 <th class="th_description">Description</th>
849 <th class="th_units">Units</th>
850 <th class="th_range">Range</th>
851 <th class="th_notes">Notes</th>
852 <th class="th_tags">Tags</th>
853 </tr>
854 </thead>
855
856 <tbody>
857
858
859
860
861
862
863
864
865
866
Zhijun He69fc0ea2013-07-17 09:42:58 -0700867 <tr class="entry" id="dynamic_android.colorCorrection.transform">
868 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <span class="entry_type_name">rational</span>
871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_array">
874 3 x 3
875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700876 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
880 </td> <!-- entry_type -->
881
882 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700883 A color transform matrix to use to transform
884 from sensor RGB color space to output linear sRGB color space
885
886 </td>
887
888 <td class="entry_units">
889 </td>
890
891 <td class="entry_range">
892 Output values are expected to be in the range
893 (0,<wbr>1)
894 </td>
895
896 <td class="entry_notes">
897 This matrix is either set by HAL when the request
898 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
899 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700900 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
901<br>
902<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700903 for precision issues; the final rounded matrix should be
904 reported back in this matrix result metadata.<wbr>
905 </td>
906
907 <td class="entry_tags">
908 </td>
909
910 </tr> <!-- end of entry -->
911
912
913 <tr class="entry" id="dynamic_android.colorCorrection.gains">
914 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
915 <td class="entry_type">
916 <span class="entry_type_name">float</span>
917 <span class="entry_type_container">x</span>
918
919 <span class="entry_type_array">
920 4
921 </span>
922 <span class="entry_type_visibility"> [public]</span>
923 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
924
925
926 </td> <!-- entry_type -->
927
928 <td class="entry_description">
929 Gains applying to Bayer color channels for
930 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800931 </td>
932
933 <td class="entry_units">
934 </td>
935
936 <td class="entry_range">
937 </td>
938
939 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700940 The 4-channel white-balance gains are defined in
941 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
942 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
943 is the gain for greenpixels on the odd rows.<wbr> if a HAL
944 does not support a separate gain for even/<wbr>odd green channels,<wbr>
945 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
946 G_<wbr>even in the output result metadata.<wbr>
947<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700948<br> This array is either set by HAL when the request
949 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950 directly by the application in the request when the
951 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
952<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700953<br> The ouput should be the gains actually applied by the HAL to
954 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800955 </td>
956
957 <td class="entry_tags">
958 </td>
959
960 </tr> <!-- end of entry -->
961
962
963
964 <!-- end of kind -->
965 </tbody>
966
967 <!-- end of section -->
968 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
969
970
971 <tr><td colspan="7" class="kind">controls</td></tr>
972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700973 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800974 <tr>
975 <th class="th_name">Property Name</th>
976 <th class="th_type">Type</th>
977 <th class="th_description">Description</th>
978 <th class="th_units">Units</th>
979 <th class="th_range">Range</th>
980 <th class="th_notes">Notes</th>
981 <th class="th_tags">Tags</th>
982 </tr>
983 </thead>
984
985 <tbody>
986
987
988
989
990
991
992
993
994
995
996 <tr class="entry" id="controls_android.control.aeAntibandingMode">
997 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001002
1003 <ul class="entry_type_enum">
1004 <li>
1005 <span class="entry_type_enum_name">OFF</span>
1006 </li>
1007 <li>
1008 <span class="entry_type_enum_name">50HZ</span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">60HZ</span>
1012 </li>
1013 <li>
1014 <span class="entry_type_enum_name">AUTO</span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Enum for controlling
1022 antibanding
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029
1030 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1031 </td>
1032
1033 <td class="entry_notes">
1034 </td>
1035
1036 <td class="entry_tags">
1037 </td>
1038
1039 </tr> <!-- end of entry -->
1040
1041
1042 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1043 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1044 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001045 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001046
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001047 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048
1049
1050 </td> <!-- entry_type -->
1051
1052 <td class="entry_description">
1053 Adjustment to AE target image
1054 brightness
1055 </td>
1056
1057 <td class="entry_units">
1058 count of positive/<wbr>negative EV steps
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1066 exposure compensation of +2 EV; -3 will mean an exposure
1067 compensation of -1
1068 </td>
1069
1070 <td class="entry_tags">
1071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </ul>
1074 </td>
1075
1076 </tr> <!-- end of entry -->
1077
1078
1079 <tr class="entry" id="controls_android.control.aeLock">
1080 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001084 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001085
1086 <ul class="entry_type_enum">
1087 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001088 <span class="entry_type_enum_name">OFF</span>
1089 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1090 is free to update its parameters.<wbr></span>
1091 </li>
1092 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001093 <span class="entry_type_enum_name">ON</span>
1094 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1095 must not update the exposure and sensitivity parameters
1096 while the lock is active</span>
1097 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001098 </ul>
1099
1100 </td> <!-- entry_type -->
1101
1102 <td class="entry_description">
1103 Whether AE is currently locked to its latest
1104 calculated values
1105 </td>
1106
1107 <td class="entry_units">
1108 </td>
1109
1110 <td class="entry_range">
1111 </td>
1112
1113 <td class="entry_notes">
1114 Note that even when AE is locked,<wbr> the flash may be
1115 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1116 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
1128 <tr class="entry" id="controls_android.control.aeMode">
1129 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001131 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001138 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1139 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </li>
1141 <li>
1142 <span class="entry_type_enum_name">ON</span>
1143 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1144 control</span>
1145 </li>
1146 <li>
1147 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1148 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1149 flash control; flash may be fired when precapture
1150 trigger is activated,<wbr> and for captures for which
1151 captureIntent = STILL_<wbr>CAPTURE</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control for precapture trigger and always flash
1157 when captureIntent = STILL_<wbr>CAPTURE</span>
1158 </li>
1159 <li>
1160 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1161 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1162 If deemed necessary,<wbr> red eye reduction sequence should
1163 fire when precapture trigger is activated,<wbr> and final
1164 flash should fire when captureIntent =
1165 STILL_<wbr>CAPTURE</span>
1166 </li>
1167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AE is currently updating the sensor
1173 exposure and sensitivity fields
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1181 </td>
1182
1183 <td class="entry_notes">
1184 Only effective if android.<wbr>control.<wbr>mode =
1185 AUTO
1186 </td>
1187
1188 <td class="entry_tags">
1189 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001190 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001191 </ul>
1192 </td>
1193
1194 </tr> <!-- end of entry -->
1195
1196
1197 <tr class="entry" id="controls_android.control.aeRegions">
1198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201 <span class="entry_type_container">x</span>
1202
1203 <span class="entry_type_array">
1204 5 x area_count
1205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001207
1208
1209 </td> <!-- entry_type -->
1210
1211 <td class="entry_description">
1212 List of areas to use for
1213 metering
1214 </td>
1215
1216 <td class="entry_units">
1217 </td>
1218
1219 <td class="entry_range">
1220 </td>
1221
1222 <td class="entry_notes">
1223 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1225 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001226<br>
1227<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001228 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1229 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1230 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1231 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001232 should be nonnegative.<wbr>
1233<br>
1234<br> If all regions have 0 weight,<wbr> then no specific metering area
1235 needs to be used by the HAL.<wbr> If the metering region is
1236 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1237 should ignore the sections outside the region and output the
1238 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001239 </td>
1240
1241 <td class="entry_tags">
1242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001244 </ul>
1245 </td>
1246
1247 </tr> <!-- end of entry -->
1248
1249
1250 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1251 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1252 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001253 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001254 <span class="entry_type_container">x</span>
1255
1256 <span class="entry_type_array">
1257 2
1258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001260
1261
1262 </td> <!-- entry_type -->
1263
1264 <td class="entry_description">
1265 Range over which fps can be adjusted to
1266 maintain exposure
1267 </td>
1268
1269 <td class="entry_units">
1270 </td>
1271
1272 <td class="entry_range">
1273 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1274 </td>
1275
1276 <td class="entry_notes">
1277 Only constrains AE algorithm,<wbr> not manual control
1278 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1279 </td>
1280
1281 <td class="entry_tags">
1282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001283 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285 </td>
1286
1287 </tr> <!-- end of entry -->
1288
1289
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001290 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1291 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1292 <td class="entry_type">
1293 <span class="entry_type_name entry_type_name_enum">byte</span>
1294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001295 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001296
1297 <ul class="entry_type_enum">
1298 <li>
1299 <span class="entry_type_enum_name">IDLE</span>
1300 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1301 </li>
1302 <li>
1303 <span class="entry_type_enum_name">START</span>
1304 <span class="entry_type_enum_notes">The precapture metering sequence
1305 must be started.<wbr> The exact effect of the precapture
1306 trigger depends on the current AE mode and
1307 state.<wbr></span>
1308 </li>
1309 </ul>
1310
1311 </td> <!-- entry_type -->
1312
1313 <td class="entry_description">
1314 Whether the HAL must trigger precapture
1315 metering.<wbr>
1316 </td>
1317
1318 <td class="entry_units">
1319 </td>
1320
1321 <td class="entry_range">
1322 </td>
1323
1324 <td class="entry_notes">
1325 This entry is normally set to IDLE,<wbr> or is not
1326 included at all in the request settings.<wbr> When included and
1327 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001328 precapture metering sequence.<wbr>
1329<br>
1330<br> The effect of AE precapture trigger depends on the current
1331 AE mode and state; see the camera HAL device v3 header for
1332 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001333 </td>
1334
1335 <td class="entry_tags">
1336 <ul class="entry_tags">
1337 <li><a href="#tag_BC">BC</a></li>
1338 </ul>
1339 </td>
1340
1341 </tr> <!-- end of entry -->
1342
1343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 <tr class="entry" id="controls_android.control.afMode">
1345 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350
1351 <ul class="entry_type_enum">
1352 <li>
1353 <span class="entry_type_enum_name">OFF</span>
1354 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001355 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001356 application</span>
1357 </li>
1358 <li>
1359 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001360 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1361
1362 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1363 is fixed focus In this mode,<wbr> the lens does not move unless
1364 the autofocus trigger action is called.<wbr> When that trigger
1365 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1366 the outcome of the scan (FOCUSED or
1367 NOT_<wbr>FOCUSED).<wbr>
1368
1369 Triggering cancel AF resets the lens position to default,<wbr>
1370 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001371 </li>
1372 <li>
1373 <span class="entry_type_enum_name">MACRO</span>
1374 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001375 autofocus trigger action is called.<wbr>
1376
1377 When that trigger is activated,<wbr> AF must transition to
1378 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1379 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1380 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 INACTIVE.<wbr></span>
1382 </li>
1383 <li>
1384 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1385 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1386 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001387 constantly-in-focus image stream.<wbr>
1388
1389 The focusing behavior should be suitable for good quality
1390 video recording; typically this means slower focus
1391 movement and no overshoots.<wbr> When the AF trigger is not
1392 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1393 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1394 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1395 the algorithm should immediately transition into
1396 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1397 lens position until a cancel AF trigger is received.<wbr>
1398
1399 Once cancel is received,<wbr> the algorithm should transition
1400 back to INACTIVE and resume passive scan.<wbr> Note that this
1401 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1402 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 canceled.<wbr></span>
1404 </li>
1405 <li>
1406 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1407 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1408 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001409 constantly-in-focus image stream.<wbr>
1410
1411 The focusing behavior should be suitable for still image
1412 capture; typically this means focusing as fast as
1413 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1414 algorithm should start in INACTIVE state,<wbr> and then
1415 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1416 appropriate as it attempts to maintain focus.<wbr> When the AF
1417 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001419 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1420 lens position until a cancel AF trigger is received.<wbr>
1421
1422 When the AF cancel trigger is activated,<wbr> the algorithm
1423 should transition back to INACTIVE and then act as if it
1424 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 </li>
1426 <li>
1427 <span class="entry_type_enum_name">EDOF</span>
1428 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1429 trigger is ignored,<wbr> AF state should always be
1430 INACTIVE.<wbr></span>
1431 </li>
1432 </ul>
1433
1434 </td> <!-- entry_type -->
1435
1436 <td class="entry_description">
1437 Whether AF is currently enabled,<wbr> and what
1438 mode it is set to
1439 </td>
1440
1441 <td class="entry_units">
1442 </td>
1443
1444 <td class="entry_range">
1445 </td>
1446
1447 <td class="entry_notes">
1448 </td>
1449
1450 <td class="entry_tags">
1451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </ul>
1454 </td>
1455
1456 </tr> <!-- end of entry -->
1457
1458
1459 <tr class="entry" id="controls_android.control.afRegions">
1460 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001462 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001463 <span class="entry_type_container">x</span>
1464
1465 <span class="entry_type_array">
1466 5 x area_count
1467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001469
1470
1471 </td> <!-- entry_type -->
1472
1473 <td class="entry_description">
1474 List of areas to use for focus
1475 estimation
1476 </td>
1477
1478 <td class="entry_units">
1479 </td>
1480
1481 <td class="entry_range">
1482 </td>
1483
1484 <td class="entry_notes">
1485 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001486 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1487 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001488<br>
1489<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001490 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1491 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1492 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1493 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001494 should be nonnegative.<wbr>
1495<br>
1496<br> If all regions have 0 weight,<wbr> then no specific focus area
1497 needs to be used by the HAL.<wbr> If the focusing region is
1498 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1499 should ignore the sections outside the region and output the
1500 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </td>
1502
1503 <td class="entry_tags">
1504 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001505 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506 </ul>
1507 </td>
1508
1509 </tr> <!-- end of entry -->
1510
1511
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001512 <tr class="entry" id="controls_android.control.afTrigger">
1513 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1514 <td class="entry_type">
1515 <span class="entry_type_name entry_type_name_enum">byte</span>
1516
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001517 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001518
1519 <ul class="entry_type_enum">
1520 <li>
1521 <span class="entry_type_enum_name">IDLE</span>
1522 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1523 </li>
1524 <li>
1525 <span class="entry_type_enum_name">START</span>
1526 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1527 </li>
1528 <li>
1529 <span class="entry_type_enum_name">CANCEL</span>
1530 <span class="entry_type_enum_notes">Autofocus must return to initial
1531 state,<wbr> and cancel any active trigger.<wbr></span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
1537 <td class="entry_description">
1538 Whether the HAL must trigger autofocus.<wbr>
1539 </td>
1540
1541 <td class="entry_units">
1542 </td>
1543
1544 <td class="entry_range">
1545 </td>
1546
1547 <td class="entry_notes">
1548 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001549 included at all in the request settings.<wbr>
1550<br>
1551<br> When included and set to START,<wbr> the HAL must trigger the
1552 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1553 current AF mode and state; see the camera HAL device v3
1554 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1555 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001556 </td>
1557
1558 <td class="entry_tags">
1559 <ul class="entry_tags">
1560 <li><a href="#tag_BC">BC</a></li>
1561 </ul>
1562 </td>
1563
1564 </tr> <!-- end of entry -->
1565
1566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567 <tr class="entry" id="controls_android.control.awbLock">
1568 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001570 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001572 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001573
1574 <ul class="entry_type_enum">
1575 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001576 <span class="entry_type_enum_name">OFF</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1578 algorithm is free to update its parameters if in AUTO
1579 mode.<wbr></span>
1580 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001581 <li>
1582 <span class="entry_type_enum_name">ON</span>
1583 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1584 algorithm must not update the exposure and sensitivity
1585 parameters while the lock is active</span>
1586 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001587 </ul>
1588
1589 </td> <!-- entry_type -->
1590
1591 <td class="entry_description">
1592 Whether AWB is currently locked to its
1593 latest calculated values
1594 </td>
1595
1596 <td class="entry_units">
1597 </td>
1598
1599 <td class="entry_range">
1600 </td>
1601
1602 <td class="entry_notes">
1603 Note that AWB lock is only meaningful for AUTO
1604 mode; in other modes,<wbr> AWB is already fixed to a specific
1605 setting
1606 </td>
1607
1608 <td class="entry_tags">
1609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 </ul>
1612 </td>
1613
1614 </tr> <!-- end of entry -->
1615
1616
1617 <tr class="entry" id="controls_android.control.awbMode">
1618 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001622 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623
1624 <ul class="entry_type_enum">
1625 <li>
1626 <span class="entry_type_enum_name">OFF</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">AUTO</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">INCANDESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">FLUORESCENT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">DAYLIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1645 </li>
1646 <li>
1647 <span class="entry_type_enum_name">TWILIGHT</span>
1648 </li>
1649 <li>
1650 <span class="entry_type_enum_name">SHADE</span>
1651 </li>
1652 </ul>
1653
1654 </td> <!-- entry_type -->
1655
1656 <td class="entry_description">
1657 Whether AWB is currently setting the color
1658 transform fields,<wbr> and what its illumination target
1659 is
1660 </td>
1661
1662 <td class="entry_units">
1663 </td>
1664
1665 <td class="entry_range">
1666 </td>
1667
1668 <td class="entry_notes">
1669 [BC - AWB lock,<wbr>AWB modes]
1670 </td>
1671
1672 <td class="entry_tags">
1673 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001674 <li><a href="#tag_BC">BC</a></li>
1675 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </ul>
1677 </td>
1678
1679 </tr> <!-- end of entry -->
1680
1681
1682 <tr class="entry" id="controls_android.control.awbRegions">
1683 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 <span class="entry_type_container">x</span>
1687
1688 <span class="entry_type_array">
1689 5 x area_count
1690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001692
1693
1694 </td> <!-- entry_type -->
1695
1696 <td class="entry_description">
1697 List of areas to use for illuminant
1698 estimation
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001708 Only used in AUTO mode.<wbr>
1709<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001710<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1711 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1712 specified coordinates.<wbr>
1713<br>
1714<br> The coordinate system is based on the active pixel array,<wbr>
1715 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1716 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1717 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1718 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001719 should be nonnegative.<wbr>
1720<br>
1721<br> If all regions have 0 weight,<wbr> then no specific metering area
1722 needs to be used by the HAL.<wbr> If the metering region is
1723 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1724 should ignore the sections outside the region and output the
1725 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </td>
1727
1728 <td class="entry_tags">
1729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001731 </ul>
1732 </td>
1733
1734 </tr> <!-- end of entry -->
1735
1736
1737 <tr class="entry" id="controls_android.control.captureIntent">
1738 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001743
1744 <ul class="entry_type_enum">
1745 <li>
1746 <span class="entry_type_enum_name">CUSTOM</span>
1747 <span class="entry_type_enum_notes">This request doesn't fall into the other
1748 categories.<wbr> Default to preview-like
1749 behavior.<wbr></span>
1750 </li>
1751 <li>
1752 <span class="entry_type_enum_name">PREVIEW</span>
1753 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1754 precapture trigger may be used to start off a metering
1755 w/<wbr>flash sequence</span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1759 <span class="entry_type_enum_notes">This request is for a still capture-type
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1764 <span class="entry_type_enum_notes">This request is for a video recording
1765 usecase.<wbr></span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1769 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1770 image while recording video) usecase</span>
1771 </li>
1772 <li>
1773 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1774 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1775 application will stream full-resolution images and
1776 reprocess one or several later for a final
1777 capture</span>
1778 </li>
1779 </ul>
1780
1781 </td> <!-- entry_type -->
1782
1783 <td class="entry_description">
1784 Information to 3A routines about the purpose
1785 of this capture,<wbr> to help decide optimal 3A
1786 strategy
1787 </td>
1788
1789 <td class="entry_units">
1790 </td>
1791
1792 <td class="entry_range">
1793 all must be supported
1794 </td>
1795
1796 <td class="entry_notes">
1797 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1798 </td>
1799
1800 <td class="entry_tags">
1801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803 </ul>
1804 </td>
1805
1806 </tr> <!-- end of entry -->
1807
1808
1809 <tr class="entry" id="controls_android.control.effectMode">
1810 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001812 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001814 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 <ul class="entry_type_enum">
1817 <li>
1818 <span class="entry_type_enum_name">OFF</span>
1819 </li>
1820 <li>
1821 <span class="entry_type_enum_name">MONO</span>
1822 <span class="entry_type_enum_optional">optional</span>
1823 </li>
1824 <li>
1825 <span class="entry_type_enum_name">NEGATIVE</span>
1826 <span class="entry_type_enum_optional">optional</span>
1827 </li>
1828 <li>
1829 <span class="entry_type_enum_name">SOLARIZE</span>
1830 <span class="entry_type_enum_optional">optional</span>
1831 </li>
1832 <li>
1833 <span class="entry_type_enum_name">SEPIA</span>
1834 <span class="entry_type_enum_optional">optional</span>
1835 </li>
1836 <li>
1837 <span class="entry_type_enum_name">POSTERIZE</span>
1838 <span class="entry_type_enum_optional">optional</span>
1839 </li>
1840 <li>
1841 <span class="entry_type_enum_name">WHITEBOARD</span>
1842 <span class="entry_type_enum_optional">optional</span>
1843 </li>
1844 <li>
1845 <span class="entry_type_enum_name">BLACKBOARD</span>
1846 <span class="entry_type_enum_optional">optional</span>
1847 </li>
1848 <li>
1849 <span class="entry_type_enum_name">AQUA</span>
1850 <span class="entry_type_enum_optional">optional</span>
1851 </li>
1852 </ul>
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Whether any special color effect is in use.<wbr>
1858 Only used if android.<wbr>control.<wbr>mode != OFF
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 android.<wbr>control.<wbr>available<wbr>Effects
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="controls_android.control.mode">
1881 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886
1887 <ul class="entry_type_enum">
1888 <li>
1889 <span class="entry_type_enum_name">OFF</span>
1890 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1891 routines are disabled,<wbr> no other settings in
1892 android.<wbr>control.<wbr>* have any effect</span>
1893 </li>
1894 <li>
1895 <span class="entry_type_enum_name">AUTO</span>
1896 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1897 Manual control of capture parameters is disabled.<wbr> All
1898 controls in android.<wbr>control.<wbr>* besides sceneMode take
1899 effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1903 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1904 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1905 controls; the HAL must ignore those settings while
1906 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1907 scene mode).<wbr> Other control entries are still active.<wbr>
1908 This setting can only be used if availableSceneModes !=
1909 UNSUPPORTED</span>
1910 </li>
1911 </ul>
1912
1913 </td> <!-- entry_type -->
1914
1915 <td class="entry_description">
1916 Overall mode of 3A control
1917 routines
1918 </td>
1919
1920 <td class="entry_units">
1921 </td>
1922
1923 <td class="entry_range">
1924 all must be supported
1925 </td>
1926
1927 <td class="entry_notes">
1928 </td>
1929
1930 <td class="entry_tags">
1931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001932 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001933 </ul>
1934 </td>
1935
1936 </tr> <!-- end of entry -->
1937
1938
1939 <tr class="entry" id="controls_android.control.sceneMode">
1940 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001942 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945
1946 <ul class="entry_type_enum">
1947 <li>
1948 <span class="entry_type_enum_name">UNSUPPORTED</span>
1949 <span class="entry_type_enum_value">0</span>
1950 </li>
1951 <li>
1952 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1953 <span class="entry_type_enum_notes">if face detection support exists Use face
1954 detection data to drive 3A routines.<wbr> If face detection
1955 statistics are disabled,<wbr> should still operate correctly
1956 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001957 framework).<wbr>
1958
1959 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1960 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1961 compatibility concerns with the old camera
1962 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">ACTION</span>
1966 <span class="entry_type_enum_optional">optional</span>
1967 </li>
1968 <li>
1969 <span class="entry_type_enum_name">PORTRAIT</span>
1970 <span class="entry_type_enum_optional">optional</span>
1971 </li>
1972 <li>
1973 <span class="entry_type_enum_name">LANDSCAPE</span>
1974 <span class="entry_type_enum_optional">optional</span>
1975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">NIGHT</span>
1978 <span class="entry_type_enum_optional">optional</span>
1979 </li>
1980 <li>
1981 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1982 <span class="entry_type_enum_optional">optional</span>
1983 </li>
1984 <li>
1985 <span class="entry_type_enum_name">THEATRE</span>
1986 <span class="entry_type_enum_optional">optional</span>
1987 </li>
1988 <li>
1989 <span class="entry_type_enum_name">BEACH</span>
1990 <span class="entry_type_enum_optional">optional</span>
1991 </li>
1992 <li>
1993 <span class="entry_type_enum_name">SNOW</span>
1994 <span class="entry_type_enum_optional">optional</span>
1995 </li>
1996 <li>
1997 <span class="entry_type_enum_name">SUNSET</span>
1998 <span class="entry_type_enum_optional">optional</span>
1999 </li>
2000 <li>
2001 <span class="entry_type_enum_name">STEADYPHOTO</span>
2002 <span class="entry_type_enum_optional">optional</span>
2003 </li>
2004 <li>
2005 <span class="entry_type_enum_name">FIREWORKS</span>
2006 <span class="entry_type_enum_optional">optional</span>
2007 </li>
2008 <li>
2009 <span class="entry_type_enum_name">SPORTS</span>
2010 <span class="entry_type_enum_optional">optional</span>
2011 </li>
2012 <li>
2013 <span class="entry_type_enum_name">PARTY</span>
2014 <span class="entry_type_enum_optional">optional</span>
2015 </li>
2016 <li>
2017 <span class="entry_type_enum_name">CANDLELIGHT</span>
2018 <span class="entry_type_enum_optional">optional</span>
2019 </li>
2020 <li>
2021 <span class="entry_type_enum_name">BARCODE</span>
2022 <span class="entry_type_enum_optional">optional</span>
2023 </li>
2024 </ul>
2025
2026 </td> <!-- entry_type -->
2027
2028 <td class="entry_description">
2029 Which scene mode is active when
2030 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2031 </td>
2032
2033 <td class="entry_units">
2034 </td>
2035
2036 <td class="entry_range">
2037 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2038 </td>
2039
2040 <td class="entry_notes">
2041 </td>
2042
2043 <td class="entry_tags">
2044 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002045 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002046 </ul>
2047 </td>
2048
2049 </tr> <!-- end of entry -->
2050
2051
2052 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2053 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002057 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002058
2059 <ul class="entry_type_enum">
2060 <li>
2061 <span class="entry_type_enum_name">OFF</span>
2062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">ON</span>
2065 </li>
2066 </ul>
2067
2068 </td> <!-- entry_type -->
2069
2070 <td class="entry_description">
2071 Whether video stabilization is
2072 active
2073 </td>
2074
2075 <td class="entry_units">
2076 </td>
2077
2078 <td class="entry_range">
2079 </td>
2080
2081 <td class="entry_notes">
2082 If enabled,<wbr> video stabilization can modify the
2083 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2084 stabilized
2085 </td>
2086
2087 <td class="entry_tags">
2088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002089 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002090 </ul>
2091 </td>
2092
2093 </tr> <!-- end of entry -->
2094
2095
2096
2097 <!-- end of kind -->
2098 </tbody>
2099 <tr><td colspan="7" class="kind">static</td></tr>
2100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102 <tr>
2103 <th class="th_name">Property Name</th>
2104 <th class="th_type">Type</th>
2105 <th class="th_description">Description</th>
2106 <th class="th_units">Units</th>
2107 <th class="th_range">Range</th>
2108 <th class="th_notes">Notes</th>
2109 <th class="th_tags">Tags</th>
2110 </tr>
2111 </thead>
2112
2113 <tbody>
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2125 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002128 <span class="entry_type_container">x</span>
2129
2130 <span class="entry_type_array">
2131 n
2132 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002134 <div class="entry_type_notes">list of enums</div>
2135
2136
2137 </td> <!-- entry_type -->
2138
2139 <td class="entry_description">
2140 Which set of antibanding modes are
2141 supported
2142 </td>
2143
2144 <td class="entry_units">
2145 </td>
2146
2147 <td class="entry_range">
2148 </td>
2149
2150 <td class="entry_notes">
2151 </td>
2152
2153 <td class="entry_tags">
2154 </td>
2155
2156 </tr> <!-- end of entry -->
2157
2158
2159 <tr class="entry" id="static_android.control.aeAvailableModes">
2160 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002163 <span class="entry_type_container">x</span>
2164
2165 <span class="entry_type_array">
2166 n
2167 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002168 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002169 <div class="entry_type_notes">list of enums</div>
2170
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
2175 Which subset of AE modes is
2176 supported
2177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
2183 OFF,<wbr> ON must be supported.<wbr>
2184 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2185 unit is available
2186 </td>
2187
2188 <td class="entry_notes">
2189 </td>
2190
2191 <td class="entry_tags">
2192 </td>
2193
2194 </tr> <!-- end of entry -->
2195
2196
2197 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002201 <span class="entry_type_container">x</span>
2202
2203 <span class="entry_type_array">
2204 2 x n
2205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207 <div class="entry_type_notes">list of pairs of frame rates</div>
2208
2209
2210 </td> <!-- entry_type -->
2211
2212 <td class="entry_description">
2213 List of frame rate ranges supported by the
2214 AE algorithm/<wbr>hardware
2215 </td>
2216
2217 <td class="entry_units">
2218 </td>
2219
2220 <td class="entry_range">
2221 </td>
2222
2223 <td class="entry_notes">
2224 </td>
2225
2226 <td class="entry_tags">
2227 </td>
2228
2229 </tr> <!-- end of entry -->
2230
2231
2232 <tr class="entry" id="static_android.control.aeCompensationRange">
2233 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002235 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002236 <span class="entry_type_container">x</span>
2237
2238 <span class="entry_type_array">
2239 2
2240 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242
2243
2244 </td> <!-- entry_type -->
2245
2246 <td class="entry_description">
2247 Maximum and minimum exposure compensation
2248 setting,<wbr> in counts of
2249 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2250 </td>
2251
2252 <td class="entry_units">
2253 </td>
2254
2255 <td class="entry_range">
2256 At least (-2,<wbr>2)/<wbr>(exp compensation step
2257 size)
2258 </td>
2259
2260 <td class="entry_notes">
2261 </td>
2262
2263 <td class="entry_tags">
2264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002265 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002266 </ul>
2267 </td>
2268
2269 </tr> <!-- end of entry -->
2270
2271
2272 <tr class="entry" id="static_android.control.aeCompensationStep">
2273 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280 </td> <!-- entry_type -->
2281
2282 <td class="entry_description">
2283 Smallest step by which exposure compensation
2284 can be changed
2285 </td>
2286
2287 <td class="entry_units">
2288 </td>
2289
2290 <td class="entry_range">
2291 <= 1/<wbr>2
2292 </td>
2293
2294 <td class="entry_notes">
2295 </td>
2296
2297 <td class="entry_tags">
2298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002300 </ul>
2301 </td>
2302
2303 </tr> <!-- end of entry -->
2304
2305
2306 <tr class="entry" id="static_android.control.afAvailableModes">
2307 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002309 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002310 <span class="entry_type_container">x</span>
2311
2312 <span class="entry_type_array">
2313 n
2314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 <div class="entry_type_notes">List of enums</div>
2317
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 List of AF modes that can be
2323 selected
2324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
2330 OFF must be included.<wbr> AUTO must be supported if
2331 lens allows for changing focus
2332 </td>
2333
2334 <td class="entry_notes">
2335 </td>
2336
2337 <td class="entry_tags">
2338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002339 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002340 </ul>
2341 </td>
2342
2343 </tr> <!-- end of entry -->
2344
2345
2346 <tr class="entry" id="static_android.control.availableEffects">
2347 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002350 <span class="entry_type_container">x</span>
2351
2352 <span class="entry_type_array">
2353 n
2354 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002355 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 <div class="entry_type_notes">list of enums</div>
2357
2358
2359 </td> <!-- entry_type -->
2360
2361 <td class="entry_description">
2362 what subset of the full color effect enum
2363 list is supported
2364 </td>
2365
2366 <td class="entry_units">
2367 </td>
2368
2369 <td class="entry_range">
2370 OFF must be listed
2371 </td>
2372
2373 <td class="entry_notes">
2374 </td>
2375
2376 <td class="entry_tags">
2377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002379 </ul>
2380 </td>
2381
2382 </tr> <!-- end of entry -->
2383
2384
2385 <tr class="entry" id="static_android.control.availableSceneModes">
2386 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002388 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 <span class="entry_type_container">x</span>
2390
2391 <span class="entry_type_array">
2392 n
2393 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
2396
2397
2398 </td> <!-- entry_type -->
2399
2400 <td class="entry_description">
2401 what subset of the scene mode enum list is
2402 supported.<wbr>
2403 </td>
2404
2405 <td class="entry_units">
2406 </td>
2407
2408 <td class="entry_range">
2409 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2410 detection is supported
2411 </td>
2412
2413 <td class="entry_notes">
2414 </td>
2415
2416 <td class="entry_tags">
2417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002418 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002419 </ul>
2420 </td>
2421
2422 </tr> <!-- end of entry -->
2423
2424
2425 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2426 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002429 <span class="entry_type_container">x</span>
2430
2431 <span class="entry_type_array">
2432 n
2433 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002434 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002435 <div class="entry_type_notes">List of enums.<wbr></div>
2436
2437
2438 </td> <!-- entry_type -->
2439
2440 <td class="entry_description">
2441 List of video stabilization modes that can
2442 be supported
2443 </td>
2444
2445 <td class="entry_units">
2446 </td>
2447
2448 <td class="entry_range">
2449 OFF must be included
2450 </td>
2451
2452 <td class="entry_notes">
2453 </td>
2454
2455 <td class="entry_tags">
2456 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002457 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002458 </ul>
2459 </td>
2460
2461 </tr> <!-- end of entry -->
2462
2463
2464 <tr class="entry" id="static_android.control.awbAvailableModes">
2465 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002467 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002468 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469
Alex Raya4251d92013-04-30 16:43:44 -07002470 <span class="entry_type_array">
2471 n
2472 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002473 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002474 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002475
2476
2477 </td> <!-- entry_type -->
2478
2479 <td class="entry_description">
2480 </td>
2481
2482 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002483 </td>
2484
2485 <td class="entry_range">
2486 OFF,<wbr> AUTO must be included
2487 </td>
2488
2489 <td class="entry_notes">
2490 </td>
2491
2492 <td class="entry_tags">
2493 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002494 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002495 </ul>
2496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="static_android.control.maxRegions">
2502 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002507
2508
2509 </td> <!-- entry_type -->
2510
2511 <td class="entry_description">
2512 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2513 regions can be listed for metering?
2514 </td>
2515
2516 <td class="entry_units">
2517 </td>
2518
2519 <td class="entry_range">
2520 >= 1
2521 </td>
2522
2523 <td class="entry_notes">
2524 </td>
2525
2526 <td class="entry_tags">
2527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 </ul>
2530 </td>
2531
2532 </tr> <!-- end of entry -->
2533
2534
2535 <tr class="entry" id="static_android.control.sceneModeOverrides">
2536 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002538 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <span class="entry_type_container">x</span>
2540
2541 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002542 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002545
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2551 each available scene mode
2552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2559 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002560 scene mode.<wbr>
2561
2562 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2563 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002564 </td>
2565
2566 <td class="entry_notes">
2567 When a scene mode is enabled,<wbr> the HAL is expected
2568 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002569 preferred settings for that scene mode.<wbr>
2570<br>
2571<br> To simplify communication with old camera API applications,<wbr>
2572 the service wants this override list in the static metadata.<wbr>
2573 The order of this list matches that of availableSceneModes,<wbr>
2574 with 3 entires for each scene mode.<wbr> The overrides listed
2575 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2576 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2577 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2578 AUTO.<wbr>
2579<br>
2580<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2581 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2582 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2583 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2584 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2585 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </td>
2587
2588 <td class="entry_tags">
2589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002591 </ul>
2592 </td>
2593
2594 </tr> <!-- end of entry -->
2595
2596
2597
2598 <!-- end of kind -->
2599 </tbody>
2600 <tr><td colspan="7" class="kind">dynamic</td></tr>
2601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002602 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002603 <tr>
2604 <th class="th_name">Property Name</th>
2605 <th class="th_type">Type</th>
2606 <th class="th_description">Description</th>
2607 <th class="th_units">Units</th>
2608 <th class="th_range">Range</th>
2609 <th class="th_notes">Notes</th>
2610 <th class="th_tags">Tags</th>
2611 </tr>
2612 </thead>
2613
2614 <tbody>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2626 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
2636 The ID sent with the latest
2637 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2638 </td>
2639
2640 <td class="entry_units">
2641 </td>
2642
2643 <td class="entry_range">
2644 </td>
2645
2646 <td class="entry_notes">
2647 Must be 0 if no
2648 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2649 by HAL.<wbr> Always updated even if AE algorithm ignores the
2650 trigger
2651 </td>
2652
2653 <td class="entry_tags">
2654 </td>
2655
2656 </tr> <!-- end of entry -->
2657
2658
2659 <tr class="entry" id="dynamic_android.control.aeRegions">
2660 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002662 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <span class="entry_type_container">x</span>
2664
2665 <span class="entry_type_array">
2666 5 x area_count
2667 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669
2670
2671 </td> <!-- entry_type -->
2672
2673 <td class="entry_description">
2674 List of areas to use for
2675 metering
2676 </td>
2677
2678 <td class="entry_units">
2679 </td>
2680
2681 <td class="entry_range">
2682 </td>
2683
2684 <td class="entry_notes">
2685 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002686 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2687 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688<br>
2689<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002690 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2691 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2692 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2693 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002694 should be nonnegative.<wbr>
2695<br>
2696<br> If all regions have 0 weight,<wbr> then no specific metering area
2697 needs to be used by the HAL.<wbr> If the metering region is
2698 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2699 should ignore the sections outside the region and output the
2700 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <ul class="entry_tags">
2705 <li><a href="#tag_BC">BC</a></li>
2706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002707 </td>
2708
2709 </tr> <!-- end of entry -->
2710
2711
2712 <tr class="entry" id="dynamic_android.control.aeState">
2713 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718
2719 <ul class="entry_type_enum">
2720 <li>
2721 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002722 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2723 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </li>
2725 <li>
2726 <span class="entry_type_enum_name">SEARCHING</span>
2727 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2728 for the current scene</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">CONVERGED</span>
2732 <span class="entry_type_enum_notes">AE has a good set of control values for the
2733 current scene</span>
2734 </li>
2735 <li>
2736 <span class="entry_type_enum_name">LOCKED</span>
2737 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2738 LOCKED)</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2742 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2743 needs to be fired for good quality still
2744 capture</span>
2745 </li>
2746 <li>
2747 <span class="entry_type_enum_name">PRECAPTURE</span>
2748 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2749 (through the
2750 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2751 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2752 completes,<wbr> AE will transition to CONVERGED or
2753 FLASH_<wbr>REQUIRED as appropriate</span>
2754 </li>
2755 </ul>
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
2760 Current state of AE algorithm
2761 </td>
2762
2763 <td class="entry_units">
2764 </td>
2765
2766 <td class="entry_range">
2767 </td>
2768
2769 <td class="entry_notes">
2770 Whenever the AE algorithm state changes,<wbr> a
2771 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2772 notification callback is registered.<wbr>
2773 </td>
2774
2775 <td class="entry_tags">
2776 </td>
2777
2778 </tr> <!-- end of entry -->
2779
2780
2781 <tr class="entry" id="dynamic_android.control.afMode">
2782 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002784 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787
2788 <ul class="entry_type_enum">
2789 <li>
2790 <span class="entry_type_enum_name">OFF</span>
2791 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002792 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793 application</span>
2794 </li>
2795 <li>
2796 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002797 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2798
2799 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2800 is fixed focus In this mode,<wbr> the lens does not move unless
2801 the autofocus trigger action is called.<wbr> When that trigger
2802 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2803 the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr>
2805
2806 Triggering cancel AF resets the lens position to default,<wbr>
2807 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 </li>
2809 <li>
2810 <span class="entry_type_enum_name">MACRO</span>
2811 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002812 autofocus trigger action is called.<wbr>
2813
2814 When that trigger is activated,<wbr> AF must transition to
2815 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2816 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2817 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002818 INACTIVE.<wbr></span>
2819 </li>
2820 <li>
2821 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2822 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2823 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002824 constantly-in-focus image stream.<wbr>
2825
2826 The focusing behavior should be suitable for good quality
2827 video recording; typically this means slower focus
2828 movement and no overshoots.<wbr> When the AF trigger is not
2829 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2830 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2831 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2832 the algorithm should immediately transition into
2833 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2834 lens position until a cancel AF trigger is received.<wbr>
2835
2836 Once cancel is received,<wbr> the algorithm should transition
2837 back to INACTIVE and resume passive scan.<wbr> Note that this
2838 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2839 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002840 canceled.<wbr></span>
2841 </li>
2842 <li>
2843 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2844 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2845 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 constantly-in-focus image stream.<wbr>
2847
2848 The focusing behavior should be suitable for still image
2849 capture; typically this means focusing as fast as
2850 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2851 algorithm should start in INACTIVE state,<wbr> and then
2852 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2853 appropriate as it attempts to maintain focus.<wbr> When the AF
2854 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002856 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2857 lens position until a cancel AF trigger is received.<wbr>
2858
2859 When the AF cancel trigger is activated,<wbr> the algorithm
2860 should transition back to INACTIVE and then act as if it
2861 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 </li>
2863 <li>
2864 <span class="entry_type_enum_name">EDOF</span>
2865 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2866 trigger is ignored,<wbr> AF state should always be
2867 INACTIVE.<wbr></span>
2868 </li>
2869 </ul>
2870
2871 </td> <!-- entry_type -->
2872
2873 <td class="entry_description">
2874 Whether AF is currently enabled,<wbr> and what
2875 mode it is set to
2876 </td>
2877
2878 <td class="entry_units">
2879 </td>
2880
2881 <td class="entry_range">
2882 </td>
2883
2884 <td class="entry_notes">
2885 </td>
2886
2887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002888 <ul class="entry_tags">
2889 <li><a href="#tag_BC">BC</a></li>
2890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002891 </td>
2892
2893 </tr> <!-- end of entry -->
2894
2895
2896 <tr class="entry" id="dynamic_android.control.afRegions">
2897 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 <span class="entry_type_container">x</span>
2901
2902 <span class="entry_type_array">
2903 5 x area_count
2904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906
2907
2908 </td> <!-- entry_type -->
2909
2910 <td class="entry_description">
2911 List of areas to use for focus
2912 estimation
2913 </td>
2914
2915 <td class="entry_units">
2916 </td>
2917
2918 <td class="entry_range">
2919 </td>
2920
2921 <td class="entry_notes">
2922 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002923 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2924 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002925<br>
2926<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002927 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2928 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2929 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2930 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002931 should be nonnegative.<wbr>
2932<br>
2933<br> If all regions have 0 weight,<wbr> then no specific focus area
2934 needs to be used by the HAL.<wbr> If the focusing region is
2935 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2936 should ignore the sections outside the region and output the
2937 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938 </td>
2939
2940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002941 <ul class="entry_tags">
2942 <li><a href="#tag_BC">BC</a></li>
2943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 </td>
2945
2946 </tr> <!-- end of entry -->
2947
2948
2949 <tr class="entry" id="dynamic_android.control.afState">
2950 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955
2956 <ul class="entry_type_enum">
2957 <li>
2958 <span class="entry_type_enum_name">INACTIVE</span>
2959 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002960 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2961 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </li>
2963 <li>
2964 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002965 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002966 currently doing an AF scan initiated by a continuous
2967 autofocus mode</span>
2968 </li>
2969 <li>
2970 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002971 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002972 believes it is in focus,<wbr> but may restart scanning at
2973 any time.<wbr></span>
2974 </li>
2975 <li>
2976 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002977 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 an AF scan because it was triggered by AF
2979 trigger</span>
2980 </li>
2981 <li>
2982 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002983 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002984 believes it is focused correctly and is
2985 locked</span>
2986 </li>
2987 <li>
2988 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002989 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002990 failed to focus successfully and is
2991 locked</span>
2992 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002993 <li>
2994 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
2995 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a
2996 passive scan without finding focus,<wbr> and may restart
2997 scanning at any time.<wbr></span>
2998 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002999 </ul>
3000
3001 </td> <!-- entry_type -->
3002
3003 <td class="entry_description">
3004 Current state of AF algorithm
3005 </td>
3006
3007 <td class="entry_units">
3008 </td>
3009
3010 <td class="entry_range">
3011 </td>
3012
3013 <td class="entry_notes">
3014 Whenever the AF algorithm state changes,<wbr> a
3015 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3016 callback is registered.<wbr>
3017 </td>
3018
3019 <td class="entry_tags">
3020 </td>
3021
3022 </tr> <!-- end of entry -->
3023
3024
3025 <tr class="entry" id="dynamic_android.control.afTriggerId">
3026 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003028 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003030 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003031
3032
3033 </td> <!-- entry_type -->
3034
3035 <td class="entry_description">
3036 The ID sent with the latest
3037 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3038 </td>
3039
3040 <td class="entry_units">
3041 </td>
3042
3043 <td class="entry_range">
3044 </td>
3045
3046 <td class="entry_notes">
3047 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3048 received yet by HAL.<wbr> Always updated even if AF algorithm
3049 ignores the trigger
3050 </td>
3051
3052 <td class="entry_tags">
3053 </td>
3054
3055 </tr> <!-- end of entry -->
3056
3057
3058 <tr class="entry" id="dynamic_android.control.awbMode">
3059 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3060 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003061 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003062
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003063 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003064
3065 <ul class="entry_type_enum">
3066 <li>
3067 <span class="entry_type_enum_name">OFF</span>
3068 </li>
3069 <li>
3070 <span class="entry_type_enum_name">AUTO</span>
3071 </li>
3072 <li>
3073 <span class="entry_type_enum_name">INCANDESCENT</span>
3074 </li>
3075 <li>
3076 <span class="entry_type_enum_name">FLUORESCENT</span>
3077 </li>
3078 <li>
3079 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3080 </li>
3081 <li>
3082 <span class="entry_type_enum_name">DAYLIGHT</span>
3083 </li>
3084 <li>
3085 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3086 </li>
3087 <li>
3088 <span class="entry_type_enum_name">TWILIGHT</span>
3089 </li>
3090 <li>
3091 <span class="entry_type_enum_name">SHADE</span>
3092 </li>
3093 </ul>
3094
3095 </td> <!-- entry_type -->
3096
3097 <td class="entry_description">
3098 Whether AWB is currently setting the color
3099 transform fields,<wbr> and what its illumination target
3100 is
3101 </td>
3102
3103 <td class="entry_units">
3104 </td>
3105
3106 <td class="entry_range">
3107 </td>
3108
3109 <td class="entry_notes">
3110 [BC - AWB lock,<wbr>AWB modes]
3111 </td>
3112
3113 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003114 <ul class="entry_tags">
3115 <li><a href="#tag_BC">BC</a></li>
3116 <li><a href="#tag_AWB">AWB</a></li>
3117 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 </td>
3119
3120 </tr> <!-- end of entry -->
3121
3122
3123 <tr class="entry" id="dynamic_android.control.awbRegions">
3124 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127 <span class="entry_type_container">x</span>
3128
3129 <span class="entry_type_array">
3130 5 x area_count
3131 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003133
3134
3135 </td> <!-- entry_type -->
3136
3137 <td class="entry_description">
3138 List of areas to use for illuminant
3139 estimation
3140 </td>
3141
3142 <td class="entry_units">
3143 </td>
3144
3145 <td class="entry_range">
3146 </td>
3147
3148 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003149 Only used in AUTO mode.<wbr>
3150<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003151<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3152 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3153 specified coordinates.<wbr>
3154<br>
3155<br> The coordinate system is based on the active pixel array,<wbr>
3156 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3157 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3158 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3159 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003160 should be nonnegative.<wbr>
3161<br>
3162<br> If all regions have 0 weight,<wbr> then no specific metering area
3163 needs to be used by the HAL.<wbr> If the metering region is
3164 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3165 should ignore the sections outside the region and output the
3166 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167 </td>
3168
3169 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003170 <ul class="entry_tags">
3171 <li><a href="#tag_BC">BC</a></li>
3172 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173 </td>
3174
3175 </tr> <!-- end of entry -->
3176
3177
3178 <tr class="entry" id="dynamic_android.control.awbState">
3179 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003181 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003183 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003184
3185 <ul class="entry_type_enum">
3186 <li>
3187 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003188 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3189 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003190 </li>
3191 <li>
3192 <span class="entry_type_enum_name">SEARCHING</span>
3193 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3194 values for the current scene</span>
3195 </li>
3196 <li>
3197 <span class="entry_type_enum_name">CONVERGED</span>
3198 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3199 current scene</span>
3200 </li>
3201 <li>
3202 <span class="entry_type_enum_name">LOCKED</span>
3203 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3204 LOCKED)</span>
3205 </li>
3206 </ul>
3207
3208 </td> <!-- entry_type -->
3209
3210 <td class="entry_description">
3211 Current state of AWB algorithm
3212 </td>
3213
3214 <td class="entry_units">
3215 </td>
3216
3217 <td class="entry_range">
3218 </td>
3219
3220 <td class="entry_notes">
3221 Whenever the AWB algorithm state changes,<wbr> a
3222 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3223 notification callback is registered.<wbr>
3224 </td>
3225
3226 <td class="entry_tags">
3227 </td>
3228
3229 </tr> <!-- end of entry -->
3230
3231
3232 <tr class="entry" id="dynamic_android.control.mode">
3233 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003235 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003237 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238
3239 <ul class="entry_type_enum">
3240 <li>
3241 <span class="entry_type_enum_name">OFF</span>
3242 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3243 routines are disabled,<wbr> no other settings in
3244 android.<wbr>control.<wbr>* have any effect</span>
3245 </li>
3246 <li>
3247 <span class="entry_type_enum_name">AUTO</span>
3248 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3249 Manual control of capture parameters is disabled.<wbr> All
3250 controls in android.<wbr>control.<wbr>* besides sceneMode take
3251 effect</span>
3252 </li>
3253 <li>
3254 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3255 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3256 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3257 controls; the HAL must ignore those settings while
3258 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3259 scene mode).<wbr> Other control entries are still active.<wbr>
3260 This setting can only be used if availableSceneModes !=
3261 UNSUPPORTED</span>
3262 </li>
3263 </ul>
3264
3265 </td> <!-- entry_type -->
3266
3267 <td class="entry_description">
3268 Overall mode of 3A control
3269 routines
3270 </td>
3271
3272 <td class="entry_units">
3273 </td>
3274
3275 <td class="entry_range">
3276 all must be supported
3277 </td>
3278
3279 <td class="entry_notes">
3280 </td>
3281
3282 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003283 <ul class="entry_tags">
3284 <li><a href="#tag_BC">BC</a></li>
3285 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003286 </td>
3287
3288 </tr> <!-- end of entry -->
3289
3290
3291
3292 <!-- end of kind -->
3293 </tbody>
3294
3295 <!-- end of section -->
3296 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3297
3298
3299 <tr><td colspan="7" class="kind">controls</td></tr>
3300
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003301 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003302 <tr>
3303 <th class="th_name">Property Name</th>
3304 <th class="th_type">Type</th>
3305 <th class="th_description">Description</th>
3306 <th class="th_units">Units</th>
3307 <th class="th_range">Range</th>
3308 <th class="th_notes">Notes</th>
3309 <th class="th_tags">Tags</th>
3310 </tr>
3311 </thead>
3312
3313 <tbody>
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324 <tr class="entry" id="controls_android.demosaic.mode">
3325 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003327 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003328
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003329 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003330
3331 <ul class="entry_type_enum">
3332 <li>
3333 <span class="entry_type_enum_name">FAST</span>
3334 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3335 Bayer RAW output</span>
3336 </li>
3337 <li>
3338 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3339 <span class="entry_type_enum_notes">High-quality may reduce output frame
3340 rate</span>
3341 </li>
3342 </ul>
3343
3344 </td> <!-- entry_type -->
3345
3346 <td class="entry_description">
3347 Controls the quality of the demosaicing
3348 processing
3349 </td>
3350
3351 <td class="entry_units">
3352 </td>
3353
3354 <td class="entry_range">
3355 </td>
3356
3357 <td class="entry_notes">
3358 </td>
3359
3360 <td class="entry_tags">
3361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003363 </ul>
3364 </td>
3365
3366 </tr> <!-- end of entry -->
3367
3368
3369
3370 <!-- end of kind -->
3371 </tbody>
3372
3373 <!-- end of section -->
3374 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3375
3376
3377 <tr><td colspan="7" class="kind">controls</td></tr>
3378
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003379 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003380 <tr>
3381 <th class="th_name">Property Name</th>
3382 <th class="th_type">Type</th>
3383 <th class="th_description">Description</th>
3384 <th class="th_units">Units</th>
3385 <th class="th_range">Range</th>
3386 <th class="th_notes">Notes</th>
3387 <th class="th_tags">Tags</th>
3388 </tr>
3389 </thead>
3390
3391 <tbody>
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402 <tr class="entry" id="controls_android.edge.mode">
3403 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3404 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003405 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003406
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003407 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003408
3409 <ul class="entry_type_enum">
3410 <li>
3411 <span class="entry_type_enum_name">OFF</span>
3412 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3413 </li>
3414 <li>
3415 <span class="entry_type_enum_name">FAST</span>
3416 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3417 bayer output</span>
3418 </li>
3419 <li>
3420 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3421 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3422 quality</span>
3423 </li>
3424 </ul>
3425
3426 </td> <!-- entry_type -->
3427
3428 <td class="entry_description">
3429 Operation mode for edge
3430 enhancement
3431 </td>
3432
3433 <td class="entry_units">
3434 </td>
3435
3436 <td class="entry_range">
3437 </td>
3438
3439 <td class="entry_notes">
3440 </td>
3441
3442 <td class="entry_tags">
3443 </td>
3444
3445 </tr> <!-- end of entry -->
3446
3447
3448 <tr class="entry" id="controls_android.edge.strength">
3449 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003451 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003452
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003453 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003454
3455
3456 </td> <!-- entry_type -->
3457
3458 <td class="entry_description">
3459 Control the amount of edge enhancement
3460 applied to the images
3461 </td>
3462
3463 <td class="entry_units">
3464 1-10; 10 is maximum sharpening
3465 </td>
3466
3467 <td class="entry_range">
3468 </td>
3469
3470 <td class="entry_notes">
3471 </td>
3472
3473 <td class="entry_tags">
3474 </td>
3475
3476 </tr> <!-- end of entry -->
3477
3478
3479
3480 <!-- end of kind -->
3481 </tbody>
3482 <tr><td colspan="7" class="kind">dynamic</td></tr>
3483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003484 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003485 <tr>
3486 <th class="th_name">Property Name</th>
3487 <th class="th_type">Type</th>
3488 <th class="th_description">Description</th>
3489 <th class="th_units">Units</th>
3490 <th class="th_range">Range</th>
3491 <th class="th_notes">Notes</th>
3492 <th class="th_tags">Tags</th>
3493 </tr>
3494 </thead>
3495
3496 <tbody>
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507 <tr class="entry" id="dynamic_android.edge.mode">
3508 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003510 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003513
3514 <ul class="entry_type_enum">
3515 <li>
3516 <span class="entry_type_enum_name">OFF</span>
3517 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3518 </li>
3519 <li>
3520 <span class="entry_type_enum_name">FAST</span>
3521 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3522 bayer output</span>
3523 </li>
3524 <li>
3525 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3526 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3527 quality</span>
3528 </li>
3529 </ul>
3530
3531 </td> <!-- entry_type -->
3532
3533 <td class="entry_description">
3534 Operation mode for edge
3535 enhancement
3536 </td>
3537
3538 <td class="entry_units">
3539 </td>
3540
3541 <td class="entry_range">
3542 </td>
3543
3544 <td class="entry_notes">
3545 </td>
3546
3547 <td class="entry_tags">
3548 </td>
3549
3550 </tr> <!-- end of entry -->
3551
3552
3553
3554 <!-- end of kind -->
3555 </tbody>
3556
3557 <!-- end of section -->
3558 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3559
3560
3561 <tr><td colspan="7" class="kind">controls</td></tr>
3562
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003563 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003564 <tr>
3565 <th class="th_name">Property Name</th>
3566 <th class="th_type">Type</th>
3567 <th class="th_description">Description</th>
3568 <th class="th_units">Units</th>
3569 <th class="th_range">Range</th>
3570 <th class="th_notes">Notes</th>
3571 <th class="th_tags">Tags</th>
3572 </tr>
3573 </thead>
3574
3575 <tbody>
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586 <tr class="entry" id="controls_android.flash.firingPower">
3587 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003589 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003590
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003591 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003592
3593
3594 </td> <!-- entry_type -->
3595
3596 <td class="entry_description">
3597 Power for flash firing/<wbr>torch
3598 </td>
3599
3600 <td class="entry_units">
3601 10 is max power; 0 is no flash.<wbr> Linear
3602 </td>
3603
3604 <td class="entry_range">
3605 0 - 10
3606 </td>
3607
3608 <td class="entry_notes">
3609 Power for snapshot may use a different scale than
3610 for torch mode.<wbr> Only one entry for torch mode will be
3611 used
3612 </td>
3613
3614 <td class="entry_tags">
3615 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003616 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617 </ul>
3618 </td>
3619
3620 </tr> <!-- end of entry -->
3621
3622
3623 <tr class="entry" id="controls_android.flash.firingTime">
3624 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003626 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003628 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003629
3630
3631 </td> <!-- entry_type -->
3632
3633 <td class="entry_description">
3634 Firing time of flash relative to start of
3635 exposure
3636 </td>
3637
3638 <td class="entry_units">
3639 nanoseconds
3640 </td>
3641
3642 <td class="entry_range">
3643 0-(exposure time-flash duration)
3644 </td>
3645
3646 <td class="entry_notes">
3647 Clamped to (0,<wbr> exposure time - flash
3648 duration).<wbr>
3649 </td>
3650
3651 <td class="entry_tags">
3652 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003653 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003654 </ul>
3655 </td>
3656
3657 </tr> <!-- end of entry -->
3658
3659
3660 <tr class="entry" id="controls_android.flash.mode">
3661 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3662 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003663 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003665 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003666
3667 <ul class="entry_type_enum">
3668 <li>
3669 <span class="entry_type_enum_name">OFF</span>
3670 <span class="entry_type_enum_notes">Do not fire the flash for this
3671 capture</span>
3672 </li>
3673 <li>
3674 <span class="entry_type_enum_name">SINGLE</span>
3675 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3676 for this capture based on firingPower,<wbr>
3677 firingTime.<wbr></span>
3678 </li>
3679 <li>
3680 <span class="entry_type_enum_name">TORCH</span>
3681 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3682 continuously on,<wbr> power set by
3683 firingPower</span>
3684 </li>
3685 </ul>
3686
3687 </td> <!-- entry_type -->
3688
3689 <td class="entry_description">
3690 Select flash operation mode
3691 </td>
3692
3693 <td class="entry_units">
3694 </td>
3695
3696 <td class="entry_range">
3697 </td>
3698
3699 <td class="entry_notes">
3700 </td>
3701
3702 <td class="entry_tags">
3703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003705 </ul>
3706 </td>
3707
3708 </tr> <!-- end of entry -->
3709
3710
3711
3712 <!-- end of kind -->
3713 </tbody>
3714 <tr><td colspan="7" class="kind">static</td></tr>
3715
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003716 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003717 <tr>
3718 <th class="th_name">Property Name</th>
3719 <th class="th_type">Type</th>
3720 <th class="th_description">Description</th>
3721 <th class="th_units">Units</th>
3722 <th class="th_range">Range</th>
3723 <th class="th_notes">Notes</th>
3724 <th class="th_tags">Tags</th>
3725 </tr>
3726 </thead>
3727
3728 <tbody>
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741 <tr class="entry" id="static_android.flash.info.available">
3742 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3743 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003744 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003746 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747
3748
3749 </td> <!-- entry_type -->
3750
3751 <td class="entry_description">
3752 Whether this camera has a
3753 flash
3754 </td>
3755
3756 <td class="entry_units">
3757 boolean (0 = false,<wbr> otherwise true)
3758 </td>
3759
3760 <td class="entry_range">
3761 </td>
3762
3763 <td class="entry_notes">
3764 If no flash,<wbr> none of the flash controls do
3765 anything.<wbr> All other metadata should return 0
3766 </td>
3767
3768 <td class="entry_tags">
3769 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003770 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003771 </ul>
3772 </td>
3773
3774 </tr> <!-- end of entry -->
3775
3776
3777 <tr class="entry" id="static_android.flash.info.chargeDuration">
3778 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3779 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003780 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003781
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003782 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003783
3784
3785 </td> <!-- entry_type -->
3786
3787 <td class="entry_description">
3788 Time taken before flash can fire
3789 again
3790 </td>
3791
3792 <td class="entry_units">
3793 nanoseconds
3794 </td>
3795
3796 <td class="entry_range">
3797 0-1e9
3798 </td>
3799
3800 <td class="entry_notes">
3801 1 second too long/<wbr>too short for recharge? Should
3802 this be power-dependent?
3803 </td>
3804
3805 <td class="entry_tags">
3806 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003807 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003808 </ul>
3809 </td>
3810
3811 </tr> <!-- end of entry -->
3812
3813
3814
3815
3816
3817 <tr class="entry" id="static_android.flash.colorTemperature">
3818 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003820 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003822 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003823
3824
3825 </td> <!-- entry_type -->
3826
3827 <td class="entry_description">
3828 The x,<wbr>y whitepoint of the
3829 flash
3830 </td>
3831
3832 <td class="entry_units">
3833 pair of floats
3834 </td>
3835
3836 <td class="entry_range">
3837 0-1 for both
3838 </td>
3839
3840 <td class="entry_notes">
3841 </td>
3842
3843 <td class="entry_tags">
3844 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003845 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003846 </ul>
3847 </td>
3848
3849 </tr> <!-- end of entry -->
3850
3851
3852 <tr class="entry" id="static_android.flash.maxEnergy">
3853 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003855 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003856
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003857 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003858
3859
3860 </td> <!-- entry_type -->
3861
3862 <td class="entry_description">
3863 Max energy output of the flash for a full
3864 power single flash
3865 </td>
3866
3867 <td class="entry_units">
3868 lumen-seconds
3869 </td>
3870
3871 <td class="entry_range">
3872 >= 0
3873 </td>
3874
3875 <td class="entry_notes">
3876 </td>
3877
3878 <td class="entry_tags">
3879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003880 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003881 </ul>
3882 </td>
3883
3884 </tr> <!-- end of entry -->
3885
3886
3887
3888 <!-- end of kind -->
3889 </tbody>
3890 <tr><td colspan="7" class="kind">dynamic</td></tr>
3891
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003892 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003893 <tr>
3894 <th class="th_name">Property Name</th>
3895 <th class="th_type">Type</th>
3896 <th class="th_description">Description</th>
3897 <th class="th_units">Units</th>
3898 <th class="th_range">Range</th>
3899 <th class="th_notes">Notes</th>
3900 <th class="th_tags">Tags</th>
3901 </tr>
3902 </thead>
3903
3904 <tbody>
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915 <tr class="entry" id="dynamic_android.flash.firingPower">
3916 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003918 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003919
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003920 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003921
3922
3923 </td> <!-- entry_type -->
3924
3925 <td class="entry_description">
3926 Power for flash firing/<wbr>torch
3927 </td>
3928
3929 <td class="entry_units">
3930 10 is max power; 0 is no flash.<wbr> Linear
3931 </td>
3932
3933 <td class="entry_range">
3934 0 - 10
3935 </td>
3936
3937 <td class="entry_notes">
3938 Power for snapshot may use a different scale than
3939 for torch mode.<wbr> Only one entry for torch mode will be
3940 used
3941 </td>
3942
3943 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003944 <ul class="entry_tags">
3945 <li><a href="#tag_V1">V1</a></li>
3946 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003947 </td>
3948
3949 </tr> <!-- end of entry -->
3950
3951
3952 <tr class="entry" id="dynamic_android.flash.firingTime">
3953 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003955 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003957 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003958
3959
3960 </td> <!-- entry_type -->
3961
3962 <td class="entry_description">
3963 Firing time of flash relative to start of
3964 exposure
3965 </td>
3966
3967 <td class="entry_units">
3968 nanoseconds
3969 </td>
3970
3971 <td class="entry_range">
3972 0-(exposure time-flash duration)
3973 </td>
3974
3975 <td class="entry_notes">
3976 Clamped to (0,<wbr> exposure time - flash
3977 duration).<wbr>
3978 </td>
3979
3980 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003981 <ul class="entry_tags">
3982 <li><a href="#tag_V1">V1</a></li>
3983 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003984 </td>
3985
3986 </tr> <!-- end of entry -->
3987
3988
3989 <tr class="entry" id="dynamic_android.flash.mode">
3990 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003992 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003993
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003994 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003995
3996 <ul class="entry_type_enum">
3997 <li>
3998 <span class="entry_type_enum_name">OFF</span>
3999 <span class="entry_type_enum_notes">Do not fire the flash for this
4000 capture</span>
4001 </li>
4002 <li>
4003 <span class="entry_type_enum_name">SINGLE</span>
4004 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
4005 for this capture based on firingPower,<wbr>
4006 firingTime.<wbr></span>
4007 </li>
4008 <li>
4009 <span class="entry_type_enum_name">TORCH</span>
4010 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4011 continuously on,<wbr> power set by
4012 firingPower</span>
4013 </li>
4014 </ul>
4015
4016 </td> <!-- entry_type -->
4017
4018 <td class="entry_description">
4019 Select flash operation mode
4020 </td>
4021
4022 <td class="entry_units">
4023 </td>
4024
4025 <td class="entry_range">
4026 </td>
4027
4028 <td class="entry_notes">
4029 </td>
4030
4031 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004032 <ul class="entry_tags">
4033 <li><a href="#tag_BC">BC</a></li>
4034 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004035 </td>
4036
4037 </tr> <!-- end of entry -->
4038
4039
4040 <tr class="entry" id="dynamic_android.flash.state">
4041 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004043 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004044
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004045 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004046
4047 <ul class="entry_type_enum">
4048 <li>
4049 <span class="entry_type_enum_name">UNAVAILABLE</span>
4050 <span class="entry_type_enum_notes">No flash on camera</span>
4051 </li>
4052 <li>
4053 <span class="entry_type_enum_name">CHARGING</span>
4054 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4055 charging and cannot be fired</span>
4056 </li>
4057 <li>
4058 <span class="entry_type_enum_name">READY</span>
4059 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4060 ready to fire</span>
4061 </li>
4062 <li>
4063 <span class="entry_type_enum_name">FIRED</span>
4064 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4065 for this capture</span>
4066 </li>
4067 </ul>
4068
4069 </td> <!-- entry_type -->
4070
4071 <td class="entry_description">
4072 Current state of the flash
4073 unit
4074 </td>
4075
4076 <td class="entry_units">
4077 </td>
4078
4079 <td class="entry_range">
4080 </td>
4081
4082 <td class="entry_notes">
4083 </td>
4084
4085 <td class="entry_tags">
4086 </td>
4087
4088 </tr> <!-- end of entry -->
4089
4090
4091
4092 <!-- end of kind -->
4093 </tbody>
4094
4095 <!-- end of section -->
4096 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4097
4098
4099 <tr><td colspan="7" class="kind">controls</td></tr>
4100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004102 <tr>
4103 <th class="th_name">Property Name</th>
4104 <th class="th_type">Type</th>
4105 <th class="th_description">Description</th>
4106 <th class="th_units">Units</th>
4107 <th class="th_range">Range</th>
4108 <th class="th_notes">Notes</th>
4109 <th class="th_tags">Tags</th>
4110 </tr>
4111 </thead>
4112
4113 <tbody>
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124 <tr class="entry" id="controls_android.geometric.mode">
4125 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004127 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004129 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004130
4131 <ul class="entry_type_enum">
4132 <li>
4133 <span class="entry_type_enum_name">OFF</span>
4134 <span class="entry_type_enum_notes">No geometric correction is
4135 applied</span>
4136 </li>
4137 <li>
4138 <span class="entry_type_enum_name">FAST</span>
4139 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4140 bayer output</span>
4141 </li>
4142 <li>
4143 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4144 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4145 quality</span>
4146 </li>
4147 </ul>
4148
4149 </td> <!-- entry_type -->
4150
4151 <td class="entry_description">
4152 Operating mode of geometric
4153 correction
4154 </td>
4155
4156 <td class="entry_units">
4157 </td>
4158
4159 <td class="entry_range">
4160 </td>
4161
4162 <td class="entry_notes">
4163 </td>
4164
4165 <td class="entry_tags">
4166 </td>
4167
4168 </tr> <!-- end of entry -->
4169
4170
4171 <tr class="entry" id="controls_android.geometric.strength">
4172 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4173 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004174 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004175
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004176 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004177
4178
4179 </td> <!-- entry_type -->
4180
4181 <td class="entry_description">
4182 Control the amount of shading correction
4183 applied to the images
4184 </td>
4185
4186 <td class="entry_units">
4187 unitless: 1-10; 10 is full shading
4188 compensation
4189 </td>
4190
4191 <td class="entry_range">
4192 </td>
4193
4194 <td class="entry_notes">
4195 </td>
4196
4197 <td class="entry_tags">
4198 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004199 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004200 </ul>
4201 </td>
4202
4203 </tr> <!-- end of entry -->
4204
4205
4206
4207 <!-- end of kind -->
4208 </tbody>
4209
4210 <!-- end of section -->
4211 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4212
4213
4214 <tr><td colspan="7" class="kind">controls</td></tr>
4215
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004216 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 <tr>
4218 <th class="th_name">Property Name</th>
4219 <th class="th_type">Type</th>
4220 <th class="th_description">Description</th>
4221 <th class="th_units">Units</th>
4222 <th class="th_range">Range</th>
4223 <th class="th_notes">Notes</th>
4224 <th class="th_tags">Tags</th>
4225 </tr>
4226 </thead>
4227
4228 <tbody>
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239 <tr class="entry" id="controls_android.hotPixel.mode">
4240 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004242 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004244 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004245
4246 <ul class="entry_type_enum">
4247 <li>
4248 <span class="entry_type_enum_name">OFF</span>
4249 <span class="entry_type_enum_notes">No hot pixel correction can be
4250 applied</span>
4251 </li>
4252 <li>
4253 <span class="entry_type_enum_name">FAST</span>
4254 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4255 Bayer output</span>
4256 </li>
4257 <li>
4258 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4259 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4260 quality</span>
4261 </li>
4262 </ul>
4263
4264 </td> <!-- entry_type -->
4265
4266 <td class="entry_description">
4267 Set operational mode for hot pixel
4268 correction
4269 </td>
4270
4271 <td class="entry_units">
4272 </td>
4273
4274 <td class="entry_range">
4275 </td>
4276
4277 <td class="entry_notes">
4278 </td>
4279
4280 <td class="entry_tags">
4281 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004282 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004283 </ul>
4284 </td>
4285
4286 </tr> <!-- end of entry -->
4287
4288
4289
4290 <!-- end of kind -->
4291 </tbody>
4292 <tr><td colspan="7" class="kind">static</td></tr>
4293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004294 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004295 <tr>
4296 <th class="th_name">Property Name</th>
4297 <th class="th_type">Type</th>
4298 <th class="th_description">Description</th>
4299 <th class="th_units">Units</th>
4300 <th class="th_range">Range</th>
4301 <th class="th_notes">Notes</th>
4302 <th class="th_tags">Tags</th>
4303 </tr>
4304 </thead>
4305
4306 <tbody>
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319 <tr class="entry" id="static_android.hotPixel.info.map">
4320 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4321 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004322 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 <span class="entry_type_container">x</span>
4324
4325 <span class="entry_type_array">
4326 2 x n
4327 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004328 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004329 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4330
4331
4332 </td> <!-- entry_type -->
4333
4334 <td class="entry_description">
4335 Location of hot/<wbr>defective pixels on
4336 sensor
4337 </td>
4338
4339 <td class="entry_units">
4340 </td>
4341
4342 <td class="entry_range">
4343 </td>
4344
4345 <td class="entry_notes">
4346 </td>
4347
4348 <td class="entry_tags">
4349 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004350 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004351 </ul>
4352 </td>
4353
4354 </tr> <!-- end of entry -->
4355
4356
4357
4358
4359
4360
4361 <!-- end of kind -->
4362 </tbody>
4363 <tr><td colspan="7" class="kind">dynamic</td></tr>
4364
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004365 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004366 <tr>
4367 <th class="th_name">Property Name</th>
4368 <th class="th_type">Type</th>
4369 <th class="th_description">Description</th>
4370 <th class="th_units">Units</th>
4371 <th class="th_range">Range</th>
4372 <th class="th_notes">Notes</th>
4373 <th class="th_tags">Tags</th>
4374 </tr>
4375 </thead>
4376
4377 <tbody>
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388 <tr class="entry" id="dynamic_android.hotPixel.mode">
4389 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004391 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004393 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004394
4395 <ul class="entry_type_enum">
4396 <li>
4397 <span class="entry_type_enum_name">OFF</span>
4398 <span class="entry_type_enum_notes">No hot pixel correction can be
4399 applied</span>
4400 </li>
4401 <li>
4402 <span class="entry_type_enum_name">FAST</span>
4403 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4404 Bayer output</span>
4405 </li>
4406 <li>
4407 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4408 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4409 quality</span>
4410 </li>
4411 </ul>
4412
4413 </td> <!-- entry_type -->
4414
4415 <td class="entry_description">
4416 Set operational mode for hot pixel
4417 correction
4418 </td>
4419
4420 <td class="entry_units">
4421 </td>
4422
4423 <td class="entry_range">
4424 </td>
4425
4426 <td class="entry_notes">
4427 </td>
4428
4429 <td class="entry_tags">
4430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004431 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004432 </ul>
4433 </td>
4434
4435 </tr> <!-- end of entry -->
4436
4437
4438
4439 <!-- end of kind -->
4440 </tbody>
4441
4442 <!-- end of section -->
4443 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4444
4445
4446 <tr><td colspan="7" class="kind">controls</td></tr>
4447
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004448 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004449 <tr>
4450 <th class="th_name">Property Name</th>
4451 <th class="th_type">Type</th>
4452 <th class="th_description">Description</th>
4453 <th class="th_units">Units</th>
4454 <th class="th_range">Range</th>
4455 <th class="th_notes">Notes</th>
4456 <th class="th_tags">Tags</th>
4457 </tr>
4458 </thead>
4459
4460 <tbody>
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4472 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004474 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004475 <span class="entry_type_container">x</span>
4476
4477 <span class="entry_type_array">
4478 3
4479 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004480 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004481 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4482
4483
4484 </td> <!-- entry_type -->
4485
4486 <td class="entry_description">
4487 GPS coordinates to include in output JPEG
4488 EXIF
4489 </td>
4490
4491 <td class="entry_units">
4492 </td>
4493
4494 <td class="entry_range">
4495 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4496 </td>
4497
4498 <td class="entry_notes">
4499 </td>
4500
4501 <td class="entry_tags">
4502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004503 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004504 </ul>
4505 </td>
4506
4507 </tr> <!-- end of entry -->
4508
4509
4510 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4511 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4512 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004513 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004514
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004515 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004516
4517
4518 </td> <!-- entry_type -->
4519
4520 <td class="entry_description">
4521 32 characters describing GPS algorithm to
4522 include in EXIF
4523 </td>
4524
4525 <td class="entry_units">
4526 UTF-8 null-terminated string
4527 </td>
4528
4529 <td class="entry_range">
4530 </td>
4531
4532 <td class="entry_notes">
4533 </td>
4534
4535 <td class="entry_tags">
4536 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004537 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004538 </ul>
4539 </td>
4540
4541 </tr> <!-- end of entry -->
4542
4543
4544 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4545 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004547 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004549 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004550
4551
4552 </td> <!-- entry_type -->
4553
4554 <td class="entry_description">
4555 Time GPS fix was made to include in
4556 EXIF
4557 </td>
4558
4559 <td class="entry_units">
4560 UTC in seconds since January 1,<wbr> 1970
4561 </td>
4562
4563 <td class="entry_range">
4564 </td>
4565
4566 <td class="entry_notes">
4567 </td>
4568
4569 <td class="entry_tags">
4570 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004571 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572 </ul>
4573 </td>
4574
4575 </tr> <!-- end of entry -->
4576
4577
4578 <tr class="entry" id="controls_android.jpeg.orientation">
4579 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004581 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004582
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004583 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004584
4585
4586 </td> <!-- entry_type -->
4587
4588 <td class="entry_description">
4589 Orientation of JPEG image to
4590 write
4591 </td>
4592
4593 <td class="entry_units">
4594 Degrees in multiples of 90
4595 </td>
4596
4597 <td class="entry_range">
4598 0,<wbr> 90,<wbr> 180,<wbr> 270
4599 </td>
4600
4601 <td class="entry_notes">
4602 </td>
4603
4604 <td class="entry_tags">
4605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004606 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004607 </ul>
4608 </td>
4609
4610 </tr> <!-- end of entry -->
4611
4612
4613 <tr class="entry" id="controls_android.jpeg.quality">
4614 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004616 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004617
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004618 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004619
4620
4621 </td> <!-- entry_type -->
4622
4623 <td class="entry_description">
4624 Compression quality of the final JPEG
4625 image
4626 </td>
4627
4628 <td class="entry_units">
4629 </td>
4630
4631 <td class="entry_range">
4632 1-100; larger is higher quality
4633 </td>
4634
4635 <td class="entry_notes">
4636 85-95 is typical usage range
4637 </td>
4638
4639 <td class="entry_tags">
4640 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004641 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004642 </ul>
4643 </td>
4644
4645 </tr> <!-- end of entry -->
4646
4647
4648 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4649 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004651 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004652
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004653 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004654
4655
4656 </td> <!-- entry_type -->
4657
4658 <td class="entry_description">
4659 Compression quality of JPEG
4660 thumbnail
4661 </td>
4662
4663 <td class="entry_units">
4664 </td>
4665
4666 <td class="entry_range">
4667 1-100; larger is higher quality
4668 </td>
4669
4670 <td class="entry_notes">
4671 </td>
4672
4673 <td class="entry_tags">
4674 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004675 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004676 </ul>
4677 </td>
4678
4679 </tr> <!-- end of entry -->
4680
4681
4682 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4683 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686 <span class="entry_type_container">x</span>
4687
4688 <span class="entry_type_array">
4689 2
4690 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004691 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692
4693
4694 </td> <!-- entry_type -->
4695
4696 <td class="entry_description">
4697 Resolution of embedded JPEG
4698 thumbnail
4699 </td>
4700
4701 <td class="entry_units">
4702 </td>
4703
4704 <td class="entry_range">
4705 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4706 </td>
4707
4708 <td class="entry_notes">
4709 </td>
4710
4711 <td class="entry_tags">
4712 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004713 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 </ul>
4715 </td>
4716
4717 </tr> <!-- end of entry -->
4718
4719
4720
4721 <!-- end of kind -->
4722 </tbody>
4723 <tr><td colspan="7" class="kind">static</td></tr>
4724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004725 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004726 <tr>
4727 <th class="th_name">Property Name</th>
4728 <th class="th_type">Type</th>
4729 <th class="th_description">Description</th>
4730 <th class="th_units">Units</th>
4731 <th class="th_range">Range</th>
4732 <th class="th_notes">Notes</th>
4733 <th class="th_tags">Tags</th>
4734 </tr>
4735 </thead>
4736
4737 <tbody>
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4749 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004751 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752 <span class="entry_type_container">x</span>
4753
4754 <span class="entry_type_array">
4755 2 x n
4756 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004757 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004758 <div class="entry_type_notes">list of resolution pairs</div>
4759
4760
4761 </td> <!-- entry_type -->
4762
4763 <td class="entry_description">
4764 Supported resolutions for the JPEG
4765 thumbnail
4766 </td>
4767
4768 <td class="entry_units">
4769 </td>
4770
4771 <td class="entry_range">
4772 Must include at least one valid resolution,<wbr> plus
4773 (0,<wbr>0) for no thumbnail generation
4774 </td>
4775
4776 <td class="entry_notes">
4777 </td>
4778
4779 <td class="entry_tags">
4780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004781 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782 </ul>
4783 </td>
4784
4785 </tr> <!-- end of entry -->
4786
4787
4788 <tr class="entry" id="static_android.jpeg.maxSize">
4789 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004791 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004792
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004793 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004794
4795
4796 </td> <!-- entry_type -->
4797
4798 <td class="entry_description">
4799 Maximum size in bytes for the compressed
4800 JPEG buffer
4801 </td>
4802
4803 <td class="entry_units">
4804 </td>
4805
4806 <td class="entry_range">
4807 Must be large enough to fit any JPEG produced by
4808 the camera
4809 </td>
4810
4811 <td class="entry_notes">
4812 This is used for sizing the gralloc buffers for
4813 JPEG
4814 </td>
4815
4816 <td class="entry_tags">
4817 </td>
4818
4819 </tr> <!-- end of entry -->
4820
4821
4822
4823 <!-- end of kind -->
4824 </tbody>
4825 <tr><td colspan="7" class="kind">dynamic</td></tr>
4826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004827 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828 <tr>
4829 <th class="th_name">Property Name</th>
4830 <th class="th_type">Type</th>
4831 <th class="th_description">Description</th>
4832 <th class="th_units">Units</th>
4833 <th class="th_range">Range</th>
4834 <th class="th_notes">Notes</th>
4835 <th class="th_tags">Tags</th>
4836 </tr>
4837 </thead>
4838
4839 <tbody>
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4851 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004853 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <span class="entry_type_container">x</span>
4855
4856 <span class="entry_type_array">
4857 3
4858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004859 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004860 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4861
4862
4863 </td> <!-- entry_type -->
4864
4865 <td class="entry_description">
4866 GPS coordinates to include in output JPEG
4867 EXIF
4868 </td>
4869
4870 <td class="entry_units">
4871 </td>
4872
4873 <td class="entry_range">
4874 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4875 </td>
4876
4877 <td class="entry_notes">
4878 </td>
4879
4880 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004881 <ul class="entry_tags">
4882 <li><a href="#tag_BC">BC</a></li>
4883 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004884 </td>
4885
4886 </tr> <!-- end of entry -->
4887
4888
4889 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4890 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4891 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004892 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004893
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004894 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004895
4896
4897 </td> <!-- entry_type -->
4898
4899 <td class="entry_description">
4900 32 characters describing GPS algorithm to
4901 include in EXIF
4902 </td>
4903
4904 <td class="entry_units">
4905 UTF-8 null-terminated string
4906 </td>
4907
4908 <td class="entry_range">
4909 </td>
4910
4911 <td class="entry_notes">
4912 </td>
4913
4914 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004915 <ul class="entry_tags">
4916 <li><a href="#tag_BC">BC</a></li>
4917 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004918 </td>
4919
4920 </tr> <!-- end of entry -->
4921
4922
4923 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4924 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4925 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004926 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004927
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004928 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004929
4930
4931 </td> <!-- entry_type -->
4932
4933 <td class="entry_description">
4934 Time GPS fix was made to include in
4935 EXIF
4936 </td>
4937
4938 <td class="entry_units">
4939 UTC in seconds since January 1,<wbr> 1970
4940 </td>
4941
4942 <td class="entry_range">
4943 </td>
4944
4945 <td class="entry_notes">
4946 </td>
4947
4948 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004949 <ul class="entry_tags">
4950 <li><a href="#tag_BC">BC</a></li>
4951 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952 </td>
4953
4954 </tr> <!-- end of entry -->
4955
4956
4957 <tr class="entry" id="dynamic_android.jpeg.orientation">
4958 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004960 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004962 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963
4964
4965 </td> <!-- entry_type -->
4966
4967 <td class="entry_description">
4968 Orientation of JPEG image to
4969 write
4970 </td>
4971
4972 <td class="entry_units">
4973 Degrees in multiples of 90
4974 </td>
4975
4976 <td class="entry_range">
4977 0,<wbr> 90,<wbr> 180,<wbr> 270
4978 </td>
4979
4980 <td class="entry_notes">
4981 </td>
4982
4983 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004984 <ul class="entry_tags">
4985 <li><a href="#tag_BC">BC</a></li>
4986 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004987 </td>
4988
4989 </tr> <!-- end of entry -->
4990
4991
4992 <tr class="entry" id="dynamic_android.jpeg.quality">
4993 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4994 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004995 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004997 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004998
4999
5000 </td> <!-- entry_type -->
5001
5002 <td class="entry_description">
5003 Compression quality of the final JPEG
5004 image
5005 </td>
5006
5007 <td class="entry_units">
5008 </td>
5009
5010 <td class="entry_range">
5011 1-100; larger is higher quality
5012 </td>
5013
5014 <td class="entry_notes">
5015 85-95 is typical usage range
5016 </td>
5017
5018 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005019 <ul class="entry_tags">
5020 <li><a href="#tag_BC">BC</a></li>
5021 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005022 </td>
5023
5024 </tr> <!-- end of entry -->
5025
5026
5027 <tr class="entry" id="dynamic_android.jpeg.size">
5028 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005030 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005032 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
5038 The size of the compressed JPEG image,<wbr> in
5039 bytes
5040 </td>
5041
5042 <td class="entry_units">
5043 </td>
5044
5045 <td class="entry_range">
5046 >= 0
5047 </td>
5048
5049 <td class="entry_notes">
5050 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005051 this must be 0.<wbr>
5052<br>
5053<br> Otherwise,<wbr> this describes the real size of the compressed
5054 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5055 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5056 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5057 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5058 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005059 </td>
5060
5061 <td class="entry_tags">
5062 </td>
5063
5064 </tr> <!-- end of entry -->
5065
5066
5067 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5068 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5069 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005070 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005071
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005072 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005073
5074
5075 </td> <!-- entry_type -->
5076
5077 <td class="entry_description">
5078 Compression quality of JPEG
5079 thumbnail
5080 </td>
5081
5082 <td class="entry_units">
5083 </td>
5084
5085 <td class="entry_range">
5086 1-100; larger is higher quality
5087 </td>
5088
5089 <td class="entry_notes">
5090 </td>
5091
5092 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005093 <ul class="entry_tags">
5094 <li><a href="#tag_BC">BC</a></li>
5095 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005096 </td>
5097
5098 </tr> <!-- end of entry -->
5099
5100
5101 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5102 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5103 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005104 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105 <span class="entry_type_container">x</span>
5106
5107 <span class="entry_type_array">
5108 2
5109 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005110 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005111
5112
5113 </td> <!-- entry_type -->
5114
5115 <td class="entry_description">
5116 Resolution of embedded JPEG
5117 thumbnail
5118 </td>
5119
5120 <td class="entry_units">
5121 </td>
5122
5123 <td class="entry_range">
5124 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5125 </td>
5126
5127 <td class="entry_notes">
5128 </td>
5129
5130 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005131 <ul class="entry_tags">
5132 <li><a href="#tag_BC">BC</a></li>
5133 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 </td>
5135
5136 </tr> <!-- end of entry -->
5137
5138
5139
5140 <!-- end of kind -->
5141 </tbody>
5142
5143 <!-- end of section -->
5144 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5145
5146
5147 <tr><td colspan="7" class="kind">controls</td></tr>
5148
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005149 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005150 <tr>
5151 <th class="th_name">Property Name</th>
5152 <th class="th_type">Type</th>
5153 <th class="th_description">Description</th>
5154 <th class="th_units">Units</th>
5155 <th class="th_range">Range</th>
5156 <th class="th_notes">Notes</th>
5157 <th class="th_tags">Tags</th>
5158 </tr>
5159 </thead>
5160
5161 <tbody>
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172 <tr class="entry" id="controls_android.lens.aperture">
5173 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005175 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005178
5179
5180 </td> <!-- entry_type -->
5181
5182 <td class="entry_description">
5183 Size of the lens aperture
5184 </td>
5185
5186 <td class="entry_units">
5187 f-number (f/<wbr>NNN)
5188 </td>
5189
5190 <td class="entry_range">
5191 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5192 </td>
5193
5194 <td class="entry_notes">
5195 Will not be supported on most devices.<wbr> Can only
5196 pick from supported list
5197 </td>
5198
5199 <td class="entry_tags">
5200 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005201 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005202 </ul>
5203 </td>
5204
5205 </tr> <!-- end of entry -->
5206
5207
5208 <tr class="entry" id="controls_android.lens.filterDensity">
5209 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005211 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005213 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005214
5215
5216 </td> <!-- entry_type -->
5217
5218 <td class="entry_description">
5219 State of lens neutral density
5220 filter(s)
5221 </td>
5222
5223 <td class="entry_units">
5224 number of stops of filtering
5225 </td>
5226
5227 <td class="entry_range">
5228 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5229 </td>
5230
5231 <td class="entry_notes">
5232 Will not be supported on most devices.<wbr> Can only
5233 pick from supported list
5234 </td>
5235
5236 <td class="entry_tags">
5237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005238 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005239 </ul>
5240 </td>
5241
5242 </tr> <!-- end of entry -->
5243
5244
5245 <tr class="entry" id="controls_android.lens.focalLength">
5246 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005248 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005250 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005251
5252
5253 </td> <!-- entry_type -->
5254
5255 <td class="entry_description">
5256 Lens optical zoom setting
5257 </td>
5258
5259 <td class="entry_units">
5260 focal length in mm
5261 </td>
5262
5263 <td class="entry_range">
5264 > 0
5265 </td>
5266
5267 <td class="entry_notes">
5268 Will not be supported on most devices.<wbr>
5269 </td>
5270
5271 <td class="entry_tags">
5272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005273 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005274 </ul>
5275 </td>
5276
5277 </tr> <!-- end of entry -->
5278
5279
5280 <tr class="entry" id="controls_android.lens.focusDistance">
5281 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5282 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005283 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005285 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286
5287
5288 </td> <!-- entry_type -->
5289
5290 <td class="entry_description">
5291 Distance to plane of sharpest focus,<wbr>
5292 measured from frontmost surface of the lens
5293 </td>
5294
5295 <td class="entry_units">
5296 diopters (1/<wbr>m)
5297 </td>
5298
5299 <td class="entry_range">
5300 >= 0
5301 </td>
5302
5303 <td class="entry_notes">
5304 0 = infinity focus.<wbr> Used value should be clamped
5305 to (0,<wbr>minimum focus distance)
5306 </td>
5307
5308 <td class="entry_tags">
5309 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005310 <li><a href="#tag_BC">BC</a></li>
5311 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005312 </ul>
5313 </td>
5314
5315 </tr> <!-- end of entry -->
5316
5317
5318 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5319 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324
5325 <ul class="entry_type_enum">
5326 <li>
5327 <span class="entry_type_enum_name">OFF</span>
5328 </li>
5329 <li>
5330 <span class="entry_type_enum_name">ON</span>
5331 <span class="entry_type_enum_optional">optional</span>
5332 </li>
5333 </ul>
5334
5335 </td> <!-- entry_type -->
5336
5337 <td class="entry_description">
5338 Whether optical image stabilization is
5339 enabled.<wbr>
5340 </td>
5341
5342 <td class="entry_units">
5343 </td>
5344
5345 <td class="entry_range">
5346 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5347 </td>
5348
5349 <td class="entry_notes">
5350 Will not be supported on most devices.<wbr>
5351 </td>
5352
5353 <td class="entry_tags">
5354 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005355 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005356 </ul>
5357 </td>
5358
5359 </tr> <!-- end of entry -->
5360
5361
5362
5363 <!-- end of kind -->
5364 </tbody>
5365 <tr><td colspan="7" class="kind">static</td></tr>
5366
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005367 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005368 <tr>
5369 <th class="th_name">Property Name</th>
5370 <th class="th_type">Type</th>
5371 <th class="th_description">Description</th>
5372 <th class="th_units">Units</th>
5373 <th class="th_range">Range</th>
5374 <th class="th_notes">Notes</th>
5375 <th class="th_tags">Tags</th>
5376 </tr>
5377 </thead>
5378
5379 <tbody>
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392 <tr class="entry" id="static_android.lens.info.availableApertures">
5393 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5394 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005395 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005396 <span class="entry_type_container">x</span>
5397
5398 <span class="entry_type_array">
5399 n
5400 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005402
5403
5404 </td> <!-- entry_type -->
5405
5406 <td class="entry_description">
5407 List of supported aperture
5408 values
5409 </td>
5410
5411 <td class="entry_units">
5412 </td>
5413
5414 <td class="entry_range">
5415 one entry required,<wbr> > 0
5416 </td>
5417
5418 <td class="entry_notes">
5419 If variable aperture not available,<wbr> only setting
5420 should be for the fixed aperture
5421 </td>
5422
5423 <td class="entry_tags">
5424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426 </ul>
5427 </td>
5428
5429 </tr> <!-- end of entry -->
5430
5431
5432 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5433 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005435 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436 <span class="entry_type_container">x</span>
5437
5438 <span class="entry_type_array">
5439 n
5440 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442
5443
5444 </td> <!-- entry_type -->
5445
5446 <td class="entry_description">
5447 List of supported ND filter
5448 values
5449 </td>
5450
5451 <td class="entry_units">
5452 </td>
5453
5454 <td class="entry_range">
5455 one entry required,<wbr> >= 0
5456 </td>
5457
5458 <td class="entry_notes">
5459 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5460 lists the available exposure index values for dimming
5461 (2 would mean the filter is set to reduce incoming
5462 light by two stops)
5463 </td>
5464
5465 <td class="entry_tags">
5466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005467 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 </ul>
5469 </td>
5470
5471 </tr> <!-- end of entry -->
5472
5473
5474 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5475 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5476 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005477 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <span class="entry_type_container">x</span>
5479
5480 <span class="entry_type_array">
5481 n
5482 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005483 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005484 <div class="entry_type_notes">the list of available focal lengths</div>
5485
5486
5487 </td> <!-- entry_type -->
5488
5489 <td class="entry_description">
5490 If fitted with optical zoom,<wbr> what focal
5491 lengths are available.<wbr> If not,<wbr> the static focal
5492 length
5493 </td>
5494
5495 <td class="entry_units">
5496 </td>
5497
5498 <td class="entry_range">
5499 > 0
5500 </td>
5501
5502 <td class="entry_notes">
5503 If optical zoom not supported,<wbr> only one value
5504 should be reported
5505 </td>
5506
5507 <td class="entry_tags">
5508 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005509 <li><a href="#tag_BC">BC</a></li>
5510 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511 </ul>
5512 </td>
5513
5514 </tr> <!-- end of entry -->
5515
5516
5517 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5518 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 <span class="entry_type_container">x</span>
5522
5523 <span class="entry_type_array">
5524 n
5525 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005527 <div class="entry_type_notes">list of enums</div>
5528
5529
5530 </td> <!-- entry_type -->
5531
5532 <td class="entry_description">
5533 List of supported optical image
5534 stabilization modes
5535 </td>
5536
5537 <td class="entry_units">
5538 </td>
5539
5540 <td class="entry_range">
5541 </td>
5542
5543 <td class="entry_notes">
5544 </td>
5545
5546 <td class="entry_tags">
5547 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005548 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005549 </ul>
5550 </td>
5551
5552 </tr> <!-- end of entry -->
5553
5554
5555 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5556 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005558 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <span class="entry_type_container">x</span>
5560
5561 <span class="entry_type_array">
5562 2 x 3 x n x m
5563 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565 <div class="entry_type_notes">2D array of destination coordinate pairs for uniform grid points in source image,<wbr> per color channel.<wbr> Size in the range of 2x3x40x30</div>
5566
5567
5568 </td> <!-- entry_type -->
5569
5570 <td class="entry_description">
5571 A low-resolution map for correction of
5572 geometric distortions and chromatic aberrations,<wbr> per
5573 color channel
5574 </td>
5575
5576 <td class="entry_units">
5577 </td>
5578
5579 <td class="entry_range">
5580 N,<wbr> M >= 2
5581 </td>
5582
5583 <td class="entry_notes">
5584 [DNG wants a function instead].<wbr> What's easiest
5585 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5586 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5587 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5588 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5589 </td>
5590
5591 <td class="entry_tags">
5592 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005593 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594 </ul>
5595 </td>
5596
5597 </tr> <!-- end of entry -->
5598
5599
5600 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5601 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5602 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005603 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 <span class="entry_type_container">x</span>
5605
5606 <span class="entry_type_array">
5607 2
5608 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005609 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005610 <div class="entry_type_notes">width and height of geometric correction map</div>
5611
5612
5613 </td> <!-- entry_type -->
5614
5615 <td class="entry_description">
5616 Dimensions of geometric correction
5617 map
5618 </td>
5619
5620 <td class="entry_units">
5621 </td>
5622
5623 <td class="entry_range">
5624 Both values >= 2
5625 </td>
5626
5627 <td class="entry_notes">
5628 </td>
5629
5630 <td class="entry_tags">
5631 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005632 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005633 </ul>
5634 </td>
5635
5636 </tr> <!-- end of entry -->
5637
5638
5639 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5640 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5641 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005642 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005643
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005644 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005645
5646
5647 </td> <!-- entry_type -->
5648
5649 <td class="entry_description">
5650 Hyperfocal distance for this lens; set to
5651 0 if fixed focus
5652 </td>
5653
5654 <td class="entry_units">
5655 diopters
5656 </td>
5657
5658 <td class="entry_range">
5659 >= 0
5660 </td>
5661
5662 <td class="entry_notes">
5663 The hyperfocal distance is used for the old
5664 API's 'fixed' setting
5665 </td>
5666
5667 <td class="entry_tags">
5668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005670 </ul>
5671 </td>
5672
5673 </tr> <!-- end of entry -->
5674
5675
5676 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5677 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005679 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005682
5683
5684 </td> <!-- entry_type -->
5685
5686 <td class="entry_description">
5687 Shortest distance from frontmost surface
5688 of the lens that can be focused correctly
5689 </td>
5690
5691 <td class="entry_units">
5692 diopters
5693 </td>
5694
5695 <td class="entry_range">
5696 >= 0
5697 </td>
5698
5699 <td class="entry_notes">
5700 If the lens is fixed-focus,<wbr> this should be
5701 0
5702 </td>
5703
5704 <td class="entry_tags">
5705 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005706 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005707 </ul>
5708 </td>
5709
5710 </tr> <!-- end of entry -->
5711
5712
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005713 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5714 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5715 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005716 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717 <span class="entry_type_container">x</span>
5718
5719 <span class="entry_type_array">
5720 2
5721 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005722 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005723 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005724
5725
5726 </td> <!-- entry_type -->
5727
5728 <td class="entry_description">
5729 Dimensions of lens shading
5730 map
5731 </td>
5732
5733 <td class="entry_units">
5734 </td>
5735
5736 <td class="entry_range">
5737 Both values >= 1
5738 </td>
5739
5740 <td class="entry_notes">
5741 </td>
5742
5743 <td class="entry_tags">
5744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005745 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746 </ul>
5747 </td>
5748
5749 </tr> <!-- end of entry -->
5750
5751
5752
5753
5754
5755 <tr class="entry" id="static_android.lens.facing">
5756 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005758 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005759
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005760 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005761
5762 <ul class="entry_type_enum">
5763 <li>
5764 <span class="entry_type_enum_name">FRONT</span>
5765 </li>
5766 <li>
5767 <span class="entry_type_enum_name">BACK</span>
5768 </li>
5769 </ul>
5770
5771 </td> <!-- entry_type -->
5772
5773 <td class="entry_description">
5774 Direction the camera faces relative to
5775 device screen
5776 </td>
5777
5778 <td class="entry_units">
5779 </td>
5780
5781 <td class="entry_range">
5782 </td>
5783
5784 <td class="entry_notes">
5785 </td>
5786
5787 <td class="entry_tags">
5788 </td>
5789
5790 </tr> <!-- end of entry -->
5791
5792
5793 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5794 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5795 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005796 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <span class="entry_type_container">x</span>
5798
5799 <span class="entry_type_array">
5800 2
5801 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005802 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005803 <div class="entry_type_notes">degrees.<wbr> First defines the angle of separation between the perpendicular to the screen and the camera optical axis.<wbr> The second then defines the clockwise rotation of the optical axis from native device up.<wbr></div>
5804
5805
5806 </td> <!-- entry_type -->
5807
5808 <td class="entry_description">
5809 Relative angle of camera optical axis to the
5810 perpendicular axis from the display
5811 </td>
5812
5813 <td class="entry_units">
5814 </td>
5815
5816 <td class="entry_range">
5817 [0-90) for first angle,<wbr> [0-360) for second
5818 </td>
5819
5820 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005821 Examples:
5822<br>
5823<br> (0,<wbr>0) means that the camera optical axis
5824 is perpendicular to the display surface;
5825<br>
5826<br> (45,<wbr>0) means that the camera points 45 degrees up when
5827 device is held upright;
5828<br>
5829<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5830 the device is held upright.<wbr>
5831<br>
5832<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 direction
5834 </td>
5835
5836 <td class="entry_tags">
5837 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005838 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005839 </ul>
5840 </td>
5841
5842 </tr> <!-- end of entry -->
5843
5844
5845 <tr class="entry" id="static_android.lens.position">
5846 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005848 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005849 <span class="entry_type_container">x</span>
5850
5851 <span class="entry_type_array">
5852 3, location in mm, in the sensor coordinate
5853 system
5854 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005855 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856
5857
5858 </td> <!-- entry_type -->
5859
5860 <td class="entry_description">
5861 Coordinates of camera optical axis on
5862 device
5863 </td>
5864
5865 <td class="entry_units">
5866 </td>
5867
5868 <td class="entry_range">
5869 </td>
5870
5871 <td class="entry_notes">
5872 </td>
5873
5874 <td class="entry_tags">
5875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005876 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877 </ul>
5878 </td>
5879
5880 </tr> <!-- end of entry -->
5881
5882
5883
5884 <!-- end of kind -->
5885 </tbody>
5886 <tr><td colspan="7" class="kind">dynamic</td></tr>
5887
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005888 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005889 <tr>
5890 <th class="th_name">Property Name</th>
5891 <th class="th_type">Type</th>
5892 <th class="th_description">Description</th>
5893 <th class="th_units">Units</th>
5894 <th class="th_range">Range</th>
5895 <th class="th_notes">Notes</th>
5896 <th class="th_tags">Tags</th>
5897 </tr>
5898 </thead>
5899
5900 <tbody>
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911 <tr class="entry" id="dynamic_android.lens.aperture">
5912 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005914 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005915
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005917
5918
5919 </td> <!-- entry_type -->
5920
5921 <td class="entry_description">
5922 Size of the lens aperture
5923 </td>
5924
5925 <td class="entry_units">
5926 f-number (f/<wbr>NNN)
5927 </td>
5928
5929 <td class="entry_range">
5930 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5931 </td>
5932
5933 <td class="entry_notes">
5934 Will not be supported on most devices.<wbr> Can only
5935 pick from supported list
5936 </td>
5937
5938 <td class="entry_tags">
5939 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005940 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005941 </ul>
5942 </td>
5943
5944 </tr> <!-- end of entry -->
5945
5946
5947 <tr class="entry" id="dynamic_android.lens.filterDensity">
5948 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005950 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005952 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005953
5954
5955 </td> <!-- entry_type -->
5956
5957 <td class="entry_description">
5958 State of lens neutral density
5959 filter(s)
5960 </td>
5961
5962 <td class="entry_units">
5963 number of stops of filtering
5964 </td>
5965
5966 <td class="entry_range">
5967 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5968 </td>
5969
5970 <td class="entry_notes">
5971 Will not be supported on most devices.<wbr> Can only
5972 pick from supported list
5973 </td>
5974
5975 <td class="entry_tags">
5976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005977 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005978 </ul>
5979 </td>
5980
5981 </tr> <!-- end of entry -->
5982
5983
5984 <tr class="entry" id="dynamic_android.lens.focalLength">
5985 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005987 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005988
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990
5991
5992 </td> <!-- entry_type -->
5993
5994 <td class="entry_description">
5995 Lens optical zoom setting
5996 </td>
5997
5998 <td class="entry_units">
5999 focal length in mm
6000 </td>
6001
6002 <td class="entry_range">
6003 > 0
6004 </td>
6005
6006 <td class="entry_notes">
6007 Will not be supported on most devices.<wbr>
6008 </td>
6009
6010 <td class="entry_tags">
6011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006012 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006013 </ul>
6014 </td>
6015
6016 </tr> <!-- end of entry -->
6017
6018
6019 <tr class="entry" id="dynamic_android.lens.focusDistance">
6020 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006022 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006024 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006025
6026
6027 </td> <!-- entry_type -->
6028
6029 <td class="entry_description">
6030 Distance to plane of sharpest focus,<wbr>
6031 measured from frontmost surface of the lens
6032 </td>
6033
6034 <td class="entry_units">
6035 diopters (1/<wbr>m)
6036 </td>
6037
6038 <td class="entry_range">
6039 >= 0
6040 </td>
6041
6042 <td class="entry_notes">
6043 Should be zero for fixed-focus cameras
6044 </td>
6045
6046 <td class="entry_tags">
6047 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006048 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006049 </ul>
6050 </td>
6051
6052 </tr> <!-- end of entry -->
6053
6054
6055 <tr class="entry" id="dynamic_android.lens.focusRange">
6056 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6057 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006058 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006059 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006060
Zhijun He50451ad2013-09-26 10:27:47 -07006061 <span class="entry_type_array">
6062 2
6063 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006064 <span class="entry_type_visibility"> [public]</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006065 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006066
6067
6068 </td> <!-- entry_type -->
6069
6070 <td class="entry_description">
6071 The range of scene distances that are in
6072 sharp focus (depth of field)
6073 </td>
6074
6075 <td class="entry_units">
6076 pair of focus distances in diopters: (near,<wbr>
6077 far)
6078 </td>
6079
6080 <td class="entry_range">
6081 >=0
6082 </td>
6083
6084 <td class="entry_notes">
6085 If variable focus not supported,<wbr> can still report
6086 fixed depth of field range
6087 </td>
6088
6089 <td class="entry_tags">
6090 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006091 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006092 </ul>
6093 </td>
6094
6095 </tr> <!-- end of entry -->
6096
6097
6098 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6099 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6100 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006101 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006102
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006103 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006104
6105 <ul class="entry_type_enum">
6106 <li>
6107 <span class="entry_type_enum_name">OFF</span>
6108 </li>
6109 <li>
6110 <span class="entry_type_enum_name">ON</span>
6111 <span class="entry_type_enum_optional">optional</span>
6112 </li>
6113 </ul>
6114
6115 </td> <!-- entry_type -->
6116
6117 <td class="entry_description">
6118 Whether optical image stabilization is
6119 enabled.<wbr>
6120 </td>
6121
6122 <td class="entry_units">
6123 </td>
6124
6125 <td class="entry_range">
6126 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6127 </td>
6128
6129 <td class="entry_notes">
6130 Will not be supported on most devices.<wbr>
6131 </td>
6132
6133 <td class="entry_tags">
6134 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006135 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006136 </ul>
6137 </td>
6138
6139 </tr> <!-- end of entry -->
6140
6141
6142 <tr class="entry" id="dynamic_android.lens.state">
6143 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6144 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006145 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006146
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006147 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006148
6149 <ul class="entry_type_enum">
6150 <li>
6151 <span class="entry_type_enum_name">STATIONARY</span>
6152 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006153 <li>
6154 <span class="entry_type_enum_name">MOVING</span>
6155 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006156 </ul>
6157
6158 </td> <!-- entry_type -->
6159
6160 <td class="entry_description">
6161 Current lens status
6162 </td>
6163
6164 <td class="entry_units">
6165 </td>
6166
6167 <td class="entry_range">
6168 </td>
6169
6170 <td class="entry_notes">
6171 </td>
6172
6173 <td class="entry_tags">
6174 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006175 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006176 </ul>
6177 </td>
6178
6179 </tr> <!-- end of entry -->
6180
6181
6182
6183 <!-- end of kind -->
6184 </tbody>
6185
6186 <!-- end of section -->
6187 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6188
6189
6190 <tr><td colspan="7" class="kind">controls</td></tr>
6191
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006192 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006193 <tr>
6194 <th class="th_name">Property Name</th>
6195 <th class="th_type">Type</th>
6196 <th class="th_description">Description</th>
6197 <th class="th_units">Units</th>
6198 <th class="th_range">Range</th>
6199 <th class="th_notes">Notes</th>
6200 <th class="th_tags">Tags</th>
6201 </tr>
6202 </thead>
6203
6204 <tbody>
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215 <tr class="entry" id="controls_android.noiseReduction.mode">
6216 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6217 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006218 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006219
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006220 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006221
6222 <ul class="entry_type_enum">
6223 <li>
6224 <span class="entry_type_enum_name">OFF</span>
6225 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6226 </li>
6227 <li>
6228 <span class="entry_type_enum_name">FAST</span>
6229 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6230 bayer output</span>
6231 </li>
6232 <li>
6233 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6234 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6235 quality</span>
6236 </li>
6237 </ul>
6238
6239 </td> <!-- entry_type -->
6240
6241 <td class="entry_description">
6242 Mode of operation for the noise reduction
6243 algorithm
6244 </td>
6245
6246 <td class="entry_units">
6247 </td>
6248
6249 <td class="entry_range">
6250 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6251 </td>
6252
6253 <td class="entry_notes">
6254 </td>
6255
6256 <td class="entry_tags">
6257 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006258 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006259 </ul>
6260 </td>
6261
6262 </tr> <!-- end of entry -->
6263
6264
6265 <tr class="entry" id="controls_android.noiseReduction.strength">
6266 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6267 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006268 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006269
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006270 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006271
6272
6273 </td> <!-- entry_type -->
6274
6275 <td class="entry_description">
6276 Control the amount of noise reduction
6277 applied to the images
6278 </td>
6279
6280 <td class="entry_units">
6281 1-10; 10 is max noise reduction
6282 </td>
6283
6284 <td class="entry_range">
6285 1 - 10
6286 </td>
6287
6288 <td class="entry_notes">
6289 </td>
6290
6291 <td class="entry_tags">
6292 </td>
6293
6294 </tr> <!-- end of entry -->
6295
6296
6297
6298 <!-- end of kind -->
6299 </tbody>
6300 <tr><td colspan="7" class="kind">dynamic</td></tr>
6301
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006302 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006303 <tr>
6304 <th class="th_name">Property Name</th>
6305 <th class="th_type">Type</th>
6306 <th class="th_description">Description</th>
6307 <th class="th_units">Units</th>
6308 <th class="th_range">Range</th>
6309 <th class="th_notes">Notes</th>
6310 <th class="th_tags">Tags</th>
6311 </tr>
6312 </thead>
6313
6314 <tbody>
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6326 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6327 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006328 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006329
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006330 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006331
6332 <ul class="entry_type_enum">
6333 <li>
6334 <span class="entry_type_enum_name">OFF</span>
6335 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6336 </li>
6337 <li>
6338 <span class="entry_type_enum_name">FAST</span>
6339 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6340 bayer output</span>
6341 </li>
6342 <li>
6343 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6344 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6345 quality</span>
6346 </li>
6347 </ul>
6348
6349 </td> <!-- entry_type -->
6350
6351 <td class="entry_description">
6352 Mode of operation for the noise reduction
6353 algorithm
6354 </td>
6355
6356 <td class="entry_units">
6357 </td>
6358
6359 <td class="entry_range">
6360 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6361 </td>
6362
6363 <td class="entry_notes">
6364 </td>
6365
6366 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006367 <ul class="entry_tags">
6368 <li><a href="#tag_V1">V1</a></li>
6369 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006370 </td>
6371
6372 </tr> <!-- end of entry -->
6373
6374
6375
6376 <!-- end of kind -->
6377 </tbody>
6378
6379 <!-- end of section -->
6380 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6381
6382
6383 <tr><td colspan="7" class="kind">static</td></tr>
6384
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006385 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006386 <tr>
6387 <th class="th_name">Property Name</th>
6388 <th class="th_type">Type</th>
6389 <th class="th_description">Description</th>
6390 <th class="th_units">Units</th>
6391 <th class="th_range">Range</th>
6392 <th class="th_notes">Notes</th>
6393 <th class="th_tags">Tags</th>
6394 </tr>
6395 </thead>
6396
6397 <tbody>
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6409 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6410 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006411 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006412
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006413 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006414
6415
6416 </td> <!-- entry_type -->
6417
6418 <td class="entry_description">
6419 If set to 1,<wbr> the camera service does not
6420 scale 'normalized' coordinates with respect to the crop
6421 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6422 and output (face rectangles).<wbr>
6423 </td>
6424
6425 <td class="entry_units">
6426 </td>
6427
6428 <td class="entry_range">
6429 </td>
6430
6431 <td class="entry_notes">
6432 Normalized coordinates refer to those in the
6433 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006434 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6435<br>
6436<br> HAL implementations should instead always use and emit
6437 sensor array-relative coordinates for all region data.<wbr> Does
6438 not need to be listed in static metadata.<wbr> Support will be
6439 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006440 </td>
6441
6442 <td class="entry_tags">
6443 </td>
6444
6445 </tr> <!-- end of entry -->
6446
6447
6448 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6449 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006451 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006452
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006453 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006454
6455
6456 </td> <!-- entry_type -->
6457
6458 <td class="entry_description">
6459 If set to 1,<wbr> then the camera service always
6460 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6461 trigger.<wbr>
6462 </td>
6463
6464 <td class="entry_units">
6465 </td>
6466
6467 <td class="entry_range">
6468 </td>
6469
6470 <td class="entry_notes">
6471 HAL implementations should implement AF trigger
6472 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6473 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6474 not need to be listed in static metadata.<wbr> Support will be
6475 removed in future versions of camera service
6476 </td>
6477
6478 <td class="entry_tags">
6479 </td>
6480
6481 </tr> <!-- end of entry -->
6482
6483
6484 <tr class="entry" id="static_android.quirks.useZslFormat">
6485 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6486 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006487 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006488
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006489 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006490
6491
6492 </td> <!-- entry_type -->
6493
6494 <td class="entry_description">
6495 If set to 1,<wbr> the camera service uses
6496 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6497 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6498 shutter lag stream
6499 </td>
6500
6501 <td class="entry_units">
6502 </td>
6503
6504 <td class="entry_range">
6505 </td>
6506
6507 <td class="entry_notes">
6508 HAL implementations should use gralloc usage flags
6509 to determine that a stream will be used for
6510 zero-shutter-lag,<wbr> instead of relying on an explicit
6511 format setting.<wbr> Does not need to be listed in static
6512 metadata.<wbr> Support will be removed in future versions of
6513 camera service.<wbr>
6514 </td>
6515
6516 <td class="entry_tags">
6517 </td>
6518
6519 </tr> <!-- end of entry -->
6520
6521
6522
6523 <!-- end of kind -->
6524 </tbody>
6525
6526 <!-- end of section -->
6527 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6528
6529
6530 <tr><td colspan="7" class="kind">controls</td></tr>
6531
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006532 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006533 <tr>
6534 <th class="th_name">Property Name</th>
6535 <th class="th_type">Type</th>
6536 <th class="th_description">Description</th>
6537 <th class="th_units">Units</th>
6538 <th class="th_range">Range</th>
6539 <th class="th_notes">Notes</th>
6540 <th class="th_tags">Tags</th>
6541 </tr>
6542 </thead>
6543
6544 <tbody>
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555 <tr class="entry" id="controls_android.request.frameCount">
6556 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006558 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006559
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006560 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006561
6562
6563 </td> <!-- entry_type -->
6564
6565 <td class="entry_description">
6566 A frame counter set by the framework.<wbr> Must
Igor Murashkin28548d22013-09-10 15:26:20 -07006567 be maintained unchanged in output frame.<wbr> This value monotonically
6568 increases with every new result (that is,<wbr> each new result has a unique
6569 frameCount value).<wbr>
6570
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006571 </td>
6572
6573 <td class="entry_units">
6574 incrementing integer
6575 </td>
6576
6577 <td class="entry_range">
6578 Any int
6579 </td>
6580
6581 <td class="entry_notes">
6582 </td>
6583
6584 <td class="entry_tags">
6585 </td>
6586
6587 </tr> <!-- end of entry -->
6588
6589
6590 <tr class="entry" id="controls_android.request.id">
6591 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6592 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006593 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006594
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006595 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006596
6597
6598 </td> <!-- entry_type -->
6599
6600 <td class="entry_description">
6601 An application-specified ID for the current
6602 request.<wbr> Must be maintained unchanged in output
6603 frame
6604 </td>
6605
6606 <td class="entry_units">
6607 arbitrary integer assigned by application
6608 </td>
6609
6610 <td class="entry_range">
6611 Any int
6612 </td>
6613
6614 <td class="entry_notes">
6615 </td>
6616
6617 <td class="entry_tags">
6618 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006619 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006620 </ul>
6621 </td>
6622
6623 </tr> <!-- end of entry -->
6624
6625
6626 <tr class="entry" id="controls_android.request.inputStreams">
6627 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6628 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006629 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006630 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006631
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006632 <span class="entry_type_array">
6633 n
6634 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006635 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006636
6637
6638 </td> <!-- entry_type -->
6639
6640 <td class="entry_description">
6641 List which camera reprocess stream is used
6642 for the source of reprocessing data.<wbr>
6643 </td>
6644
6645 <td class="entry_units">
6646 List of camera reprocess stream IDs
6647 </td>
6648
6649 <td class="entry_range">
6650 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006651 reprocess stream ID.<wbr>
6652
6653 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6654 reprocess streams may be included in a single request; they
6655 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006656 </td>
6657
6658 <td class="entry_notes">
6659 Only meaningful when android.<wbr>request.<wbr>type ==
6660 REPROCESS.<wbr> Ignored otherwise
6661 </td>
6662
6663 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006664 <ul class="entry_tags">
6665 <li><a href="#tag_HAL2">HAL2</a></li>
6666 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006667 </td>
6668
6669 </tr> <!-- end of entry -->
6670
6671
6672 <tr class="entry" id="controls_android.request.metadataMode">
6673 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6674 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006675 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006676
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006677 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006678
6679 <ul class="entry_type_enum">
6680 <li>
6681 <span class="entry_type_enum_name">NONE</span>
6682 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6683 for application-bound buffer data.<wbr> If no
6684 application-bound streams exist,<wbr> no frame should be
6685 placed in the output frame queue.<wbr> If such streams
6686 exist,<wbr> a frame should be placed on the output queue
6687 with null metadata but with the necessary output buffer
6688 information.<wbr> Timestamp information should still be
6689 included with any output stream buffers</span>
6690 </li>
6691 <li>
6692 <span class="entry_type_enum_name">FULL</span>
6693 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6694 only be produced if they are separately
6695 enabled</span>
6696 </li>
6697 </ul>
6698
6699 </td> <!-- entry_type -->
6700
6701 <td class="entry_description">
6702 How much metadata to produce on
6703 output
6704 </td>
6705
6706 <td class="entry_units">
6707 </td>
6708
6709 <td class="entry_range">
6710 </td>
6711
6712 <td class="entry_notes">
6713 </td>
6714
6715 <td class="entry_tags">
6716 </td>
6717
6718 </tr> <!-- end of entry -->
6719
6720
6721 <tr class="entry" id="controls_android.request.outputStreams">
6722 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6723 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006724 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006725 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006726
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006727 <span class="entry_type_array">
6728 n
6729 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006730 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006731
6732
6733 </td> <!-- entry_type -->
6734
6735 <td class="entry_description">
6736 Lists which camera output streams image data
6737 from this capture must be sent to
6738 </td>
6739
6740 <td class="entry_units">
6741 List of camera stream IDs
6742 </td>
6743
6744 <td class="entry_range">
6745 List must only include streams that have been
6746 created
6747 </td>
6748
6749 <td class="entry_notes">
6750 If no output streams are listed,<wbr> then the image
6751 data should simply be discarded.<wbr> The image data must
6752 still be captured for metadata and statistics production,<wbr>
6753 and the lens and flash must operate as requested.<wbr>
6754 </td>
6755
6756 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006757 <ul class="entry_tags">
6758 <li><a href="#tag_HAL2">HAL2</a></li>
6759 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006760 </td>
6761
6762 </tr> <!-- end of entry -->
6763
6764
6765 <tr class="entry" id="controls_android.request.type">
6766 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6767 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006768 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006769
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006770 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006771
6772 <ul class="entry_type_enum">
6773 <li>
6774 <span class="entry_type_enum_name">CAPTURE</span>
6775 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6776 and process it according to the
6777 settings</span>
6778 </li>
6779 <li>
6780 <span class="entry_type_enum_name">REPROCESS</span>
6781 <span class="entry_type_enum_notes">Process previously captured data; the
6782 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6783 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6784 needed for reprocessing with [RP]</span>
6785 </li>
6786 </ul>
6787
6788 </td> <!-- entry_type -->
6789
6790 <td class="entry_description">
6791 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006792 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006793 </td>
6794
6795 <td class="entry_units">
6796 </td>
6797
6798 <td class="entry_range">
6799 </td>
6800
6801 <td class="entry_notes">
6802 </td>
6803
6804 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006805 <ul class="entry_tags">
6806 <li><a href="#tag_HAL2">HAL2</a></li>
6807 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006808 </td>
6809
6810 </tr> <!-- end of entry -->
6811
6812
6813
6814 <!-- end of kind -->
6815 </tbody>
6816 <tr><td colspan="7" class="kind">static</td></tr>
6817
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006818 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006819 <tr>
6820 <th class="th_name">Property Name</th>
6821 <th class="th_type">Type</th>
6822 <th class="th_description">Description</th>
6823 <th class="th_units">Units</th>
6824 <th class="th_range">Range</th>
6825 <th class="th_notes">Notes</th>
6826 <th class="th_tags">Tags</th>
6827 </tr>
6828 </thead>
6829
6830 <tbody>
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6842 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6843 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006844 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006845 <span class="entry_type_container">x</span>
6846
6847 <span class="entry_type_array">
6848 3
6849 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006850 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006851
6852
6853 </td> <!-- entry_type -->
6854
6855 <td class="entry_description">
6856 How many output streams can be allocated at
6857 the same time for each type of stream
6858 </td>
6859
6860 <td class="entry_units">
6861 The number of raw sensor streams; the number of
6862 processed,<wbr> uncompressed streams; and the number of
6863 JPEG-compressed streams
6864 </td>
6865
6866 <td class="entry_range">
6867 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6868 for processed,<wbr> uncompressed streams
6869 </td>
6870
6871 <td class="entry_notes">
6872 Video snapshot with preview callbacks requires 3
6873 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6874 one JPEG stream (snapshot)
6875 </td>
6876
6877 <td class="entry_tags">
6878 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006879 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006880 </ul>
6881 </td>
6882
6883 </tr> <!-- end of entry -->
6884
6885
6886 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6887 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6888 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006889 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006890 <span class="entry_type_container">x</span>
6891
6892 <span class="entry_type_array">
6893 1
6894 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006895 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006896
6897
6898 </td> <!-- entry_type -->
6899
6900 <td class="entry_description">
6901 How many reprocessing streams of any type
6902 can be allocated at the same time
6903 </td>
6904
6905 <td class="entry_units">
6906 </td>
6907
6908 <td class="entry_range">
6909 >= 1
6910 </td>
6911
6912 <td class="entry_notes">
6913 </td>
6914
6915 <td class="entry_tags">
6916 </td>
6917
6918 </tr> <!-- end of entry -->
6919
6920
6921
6922 <!-- end of kind -->
6923 </tbody>
6924 <tr><td colspan="7" class="kind">dynamic</td></tr>
6925
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006926 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006927 <tr>
6928 <th class="th_name">Property Name</th>
6929 <th class="th_type">Type</th>
6930 <th class="th_description">Description</th>
6931 <th class="th_units">Units</th>
6932 <th class="th_range">Range</th>
6933 <th class="th_notes">Notes</th>
6934 <th class="th_tags">Tags</th>
6935 </tr>
6936 </thead>
6937
6938 <tbody>
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949 <tr class="entry" id="dynamic_android.request.frameCount">
6950 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006952 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006955
6956
6957 </td> <!-- entry_type -->
6958
6959 <td class="entry_description">
Igor Murashkin28548d22013-09-10 15:26:20 -07006960 A frame counter set by the framework.<wbr> This value monotonically
6961 increases with every new result (that is,<wbr> each new result has a unique
6962 frameCount value).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006963 </td>
6964
6965 <td class="entry_units">
6966 count of frames
6967 </td>
6968
6969 <td class="entry_range">
6970 > 0
6971 </td>
6972
6973 <td class="entry_notes">
6974 Reset on release()
6975 </td>
6976
6977 <td class="entry_tags">
6978 </td>
6979
6980 </tr> <!-- end of entry -->
6981
6982
6983 <tr class="entry" id="dynamic_android.request.id">
6984 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6985 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006986 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006987
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006988 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006989
6990
6991 </td> <!-- entry_type -->
6992
6993 <td class="entry_description">
6994 An application-specified ID for the current
6995 request.<wbr> Must be maintained unchanged in output
6996 frame
6997 </td>
6998
6999 <td class="entry_units">
7000 arbitrary integer assigned by application
7001 </td>
7002
7003 <td class="entry_range">
7004 Any int
7005 </td>
7006
7007 <td class="entry_notes">
7008 </td>
7009
7010 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007011 <ul class="entry_tags">
7012 <li><a href="#tag_V1">V1</a></li>
7013 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014 </td>
7015
7016 </tr> <!-- end of entry -->
7017
7018
7019 <tr class="entry" id="dynamic_android.request.metadataMode">
7020 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007022 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007024 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007025
7026 <ul class="entry_type_enum">
7027 <li>
7028 <span class="entry_type_enum_name">NONE</span>
7029 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7030 for application-bound buffer data.<wbr> If no
7031 application-bound streams exist,<wbr> no frame should be
7032 placed in the output frame queue.<wbr> If such streams
7033 exist,<wbr> a frame should be placed on the output queue
7034 with null metadata but with the necessary output buffer
7035 information.<wbr> Timestamp information should still be
7036 included with any output stream buffers</span>
7037 </li>
7038 <li>
7039 <span class="entry_type_enum_name">FULL</span>
7040 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7041 only be produced if they are separately
7042 enabled</span>
7043 </li>
7044 </ul>
7045
7046 </td> <!-- entry_type -->
7047
7048 <td class="entry_description">
7049 How much metadata to produce on
7050 output
7051 </td>
7052
7053 <td class="entry_units">
7054 </td>
7055
7056 <td class="entry_range">
7057 </td>
7058
7059 <td class="entry_notes">
7060 </td>
7061
7062 <td class="entry_tags">
7063 </td>
7064
7065 </tr> <!-- end of entry -->
7066
7067
7068 <tr class="entry" id="dynamic_android.request.outputStreams">
7069 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7070 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007071 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007072 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007073
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007074 <span class="entry_type_array">
7075 n
7076 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007077 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007078
7079
7080 </td> <!-- entry_type -->
7081
7082 <td class="entry_description">
7083 Lists which camera output streams image data
7084 from this capture must be sent to
7085 </td>
7086
7087 <td class="entry_units">
7088 List of camera stream IDs
7089 </td>
7090
7091 <td class="entry_range">
7092 List must only include streams that have been
7093 created
7094 </td>
7095
7096 <td class="entry_notes">
7097 If no output streams are listed,<wbr> then the image
7098 data should simply be discarded.<wbr> The image data must
7099 still be captured for metadata and statistics production,<wbr>
7100 and the lens and flash must operate as requested.<wbr>
7101 </td>
7102
7103 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007104 <ul class="entry_tags">
7105 <li><a href="#tag_HAL2">HAL2</a></li>
7106 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007107 </td>
7108
7109 </tr> <!-- end of entry -->
7110
7111
7112
7113 <!-- end of kind -->
7114 </tbody>
7115
7116 <!-- end of section -->
7117 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7118
7119
7120 <tr><td colspan="7" class="kind">controls</td></tr>
7121
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007122 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007123 <tr>
7124 <th class="th_name">Property Name</th>
7125 <th class="th_type">Type</th>
7126 <th class="th_description">Description</th>
7127 <th class="th_units">Units</th>
7128 <th class="th_range">Range</th>
7129 <th class="th_notes">Notes</th>
7130 <th class="th_tags">Tags</th>
7131 </tr>
7132 </thead>
7133
7134 <tbody>
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145 <tr class="entry" id="controls_android.scaler.cropRegion">
7146 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7147 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007148 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007149 <span class="entry_type_container">x</span>
7150
7151 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007152 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007153 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007154 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007155
7156
7157 </td> <!-- entry_type -->
7158
7159 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007160 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7161<br>
7162<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7163 (width,<wbr> height).<wbr> The region of the sensor that is used for
7164 output.<wbr> Each stream must use this rectangle to produce its
7165 output,<wbr> cropping to a smaller region if necessary to
7166 maintain the stream's aspect ratio.<wbr>
7167<br>
7168<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007169 </td>
7170
7171 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007172 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7173 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007174 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007175 </td>
7176
7177 <td class="entry_range">
7178 </td>
7179
7180 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007181
7182 Any additional per-stream cropping must be done to
7183 maximize the final pixel area of the stream.<wbr>
7184<br>
7185<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7186 ratio,<wbr> then 4:3 streams should use the exact crop
7187 region.<wbr> 16:9 streams should further crop vertically
7188 (letterbox).<wbr>
7189<br>
7190<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7191 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7192 streams should match exactly.<wbr> These additional crops must
7193 be centered within the crop region.<wbr>
7194<br>
7195<br> The output streams must maintain square pixels at all
7196 times,<wbr> no matter what the relative aspect ratios of the
7197 crop region and the stream are.<wbr> Negative values for
7198 corner are allowed for raw output if full pixel array is
7199 larger than active pixel array.<wbr> Width and height may be
7200 rounded to nearest larger supportable width,<wbr> especially
7201 for raw output,<wbr> where only a few fixed scales may be
7202 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007203 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007204 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007205 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007206 respectively.<wbr>
7207
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007208 </td>
7209
7210 <td class="entry_tags">
7211 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007212 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007213 </ul>
7214 </td>
7215
7216 </tr> <!-- end of entry -->
7217
7218
7219
7220 <!-- end of kind -->
7221 </tbody>
7222 <tr><td colspan="7" class="kind">static</td></tr>
7223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007224 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007225 <tr>
7226 <th class="th_name">Property Name</th>
7227 <th class="th_type">Type</th>
7228 <th class="th_description">Description</th>
7229 <th class="th_units">Units</th>
7230 <th class="th_range">Range</th>
7231 <th class="th_notes">Notes</th>
7232 <th class="th_tags">Tags</th>
7233 </tr>
7234 </thead>
7235
7236 <tbody>
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247 <tr class="entry" id="static_android.scaler.availableFormats">
7248 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007250 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007251 <span class="entry_type_container">x</span>
7252
7253 <span class="entry_type_array">
7254 n
7255 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007256 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007257 <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>
7258
7259 <ul class="entry_type_enum">
7260 <li>
7261 <span class="entry_type_enum_name">RAW_SENSOR</span>
7262 <span class="entry_type_enum_value">0x20</span>
7263 </li>
7264 <li>
7265 <span class="entry_type_enum_name">YV12</span>
7266 <span class="entry_type_enum_value">0x32315659</span>
7267 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7268 </li>
7269 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007270 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007271 <span class="entry_type_enum_value">0x11</span>
7272 <span class="entry_type_enum_notes">NV21</span>
7273 </li>
7274 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007275 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7276 <span class="entry_type_enum_value">0x22</span>
7277 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7278 </li>
7279 <li>
7280 <span class="entry_type_enum_name">YCbCr_420_888</span>
7281 <span class="entry_type_enum_value">0x23</span>
7282 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7283 </li>
7284 <li>
7285 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007286 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007287 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007288 </li>
7289 </ul>
7290
7291 </td> <!-- entry_type -->
7292
7293 <td class="entry_description">
7294 List of app-visible formats
7295 </td>
7296
7297 <td class="entry_units">
7298 </td>
7299
7300 <td class="entry_range">
7301 </td>
7302
7303 <td class="entry_notes">
7304 </td>
7305
7306 <td class="entry_tags">
7307 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007308 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007309 </ul>
7310 </td>
7311
7312 </tr> <!-- end of entry -->
7313
7314
7315 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7316 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7317 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007318 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007319 <span class="entry_type_container">x</span>
7320
7321 <span class="entry_type_array">
7322 n
7323 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007324 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007325
7326
7327 </td> <!-- entry_type -->
7328
7329 <td class="entry_description">
7330 The minimum frame duration that is supported
7331 for each resolution in availableJpegSizes.<wbr> Should
7332 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007333 stream is active and captured in a burst,<wbr> with all
7334 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007335 </td>
7336
7337 <td class="entry_units">
7338 </td>
7339
7340 <td class="entry_range">
7341 </td>
7342
7343 <td class="entry_notes">
7344 When multiple streams are configured,<wbr> the minimum
7345 frame duration will be >= max(individual stream min
7346 durations)
7347 </td>
7348
7349 <td class="entry_tags">
7350 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007351 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007352 </ul>
7353 </td>
7354
7355 </tr> <!-- end of entry -->
7356
7357
7358 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7359 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007361 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007362 <span class="entry_type_container">x</span>
7363
7364 <span class="entry_type_array">
7365 n x 2
7366 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007367 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007368
7369
7370 </td> <!-- entry_type -->
7371
7372 <td class="entry_description">
7373 The resolutions available for output from
7374 the JPEG block.<wbr> Listed as width x height
7375 </td>
7376
7377 <td class="entry_units">
7378 </td>
7379
7380 <td class="entry_range">
7381 Must include: - sensor maximum resolution Should
7382 include: - half/<wbr>quarter max resolution
7383 </td>
7384
7385 <td class="entry_notes">
7386 </td>
7387
7388 <td class="entry_tags">
7389 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007390 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007391 </ul>
7392 </td>
7393
7394 </tr> <!-- end of entry -->
7395
7396
7397 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7398 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7399 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007400 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007401
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007402 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007403
7404
7405 </td> <!-- entry_type -->
7406
7407 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007408 The maximum ratio between active area width
7409 and crop region width,<wbr> or between active area height and
7410 crop region height,<wbr> if the crop region height is larger
7411 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007412 </td>
7413
7414 <td class="entry_units">
7415 </td>
7416
7417 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007418 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007419 </td>
7420
7421 <td class="entry_notes">
7422 </td>
7423
7424 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007425 <ul class="entry_tags">
7426 <li><a href="#tag_BC">BC</a></li>
7427 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007428 </td>
7429
7430 </tr> <!-- end of entry -->
7431
7432
7433 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7434 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7435 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007436 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007437 <span class="entry_type_container">x</span>
7438
7439 <span class="entry_type_array">
7440 n
7441 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007442 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007443
7444
7445 </td> <!-- entry_type -->
7446
7447 <td class="entry_description">
7448 The minimum frame duration that is supported
7449 for each resolution in availableProcessedSizes.<wbr> Should
7450 correspond to the frame duration when only that processed
7451 stream is active,<wbr> with all processing set to
7452 FAST
7453 </td>
7454
7455 <td class="entry_units">
7456 </td>
7457
7458 <td class="entry_range">
7459 </td>
7460
7461 <td class="entry_notes">
7462 When multiple streams are configured,<wbr> the minimum
7463 frame duration will be >= max(individual stream min
7464 durations)
7465 </td>
7466
7467 <td class="entry_tags">
7468 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007469 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007470 </ul>
7471 </td>
7472
7473 </tr> <!-- end of entry -->
7474
7475
7476 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7477 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7478 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007479 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007480 <span class="entry_type_container">x</span>
7481
7482 <span class="entry_type_array">
7483 n x 2
7484 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007485 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007486
7487
7488 </td> <!-- entry_type -->
7489
7490 <td class="entry_description">
7491 The resolutions available for use with
7492 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7493 platform opaque YUV/<wbr>RGB streams to the GPU or video
7494 encoders.<wbr> Listed as width,<wbr> height
7495 </td>
7496
7497 <td class="entry_units">
7498 </td>
7499
7500 <td class="entry_range">
7501 Must include: - sensor maximum resolution -
7502 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7503 resolutions
7504 </td>
7505
7506 <td class="entry_notes">
Zhijun He15cc3112013-09-17 12:38:34 -07007507 The actual supported resolution list may be limited by
7508 consumer end points for different use cases.<wbr> For example,<wbr> for
7509 recording use case,<wbr> the largest supported resolution may be
7510 limited by max supported size from encoder,<wbr> for preview use
7511 case,<wbr> the largest supported resolution may be limited by max
7512 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr>
7513
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007514 </td>
7515
7516 <td class="entry_tags">
7517 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007518 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007519 </ul>
7520 </td>
7521
7522 </tr> <!-- end of entry -->
7523
7524
7525 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7526 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7527 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007528 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007529 <span class="entry_type_container">x</span>
7530
7531 <span class="entry_type_array">
7532 n
7533 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007534 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007535
7536
7537 </td> <!-- entry_type -->
7538
7539 <td class="entry_description">
7540 The minimum frame duration that is supported
7541 for each raw resolution in availableRawSizes.<wbr> Should
7542 correspond to the frame duration when only the raw stream
7543 is active.<wbr>
7544 </td>
7545
7546 <td class="entry_units">
7547 </td>
7548
7549 <td class="entry_range">
7550 </td>
7551
7552 <td class="entry_notes">
7553 When multiple streams are configured,<wbr> the minimum
7554 frame duration will be >= max(individual stream min
7555 durations)
7556 </td>
7557
7558 <td class="entry_tags">
7559 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007560 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007561 </ul>
7562 </td>
7563
7564 </tr> <!-- end of entry -->
7565
7566
7567 <tr class="entry" id="static_android.scaler.availableRawSizes">
7568 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007570 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007571 <span class="entry_type_container">x</span>
7572
7573 <span class="entry_type_array">
7574 n x 2
7575 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007576 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007577
7578
7579 </td> <!-- entry_type -->
7580
7581 <td class="entry_description">
7582 The resolutions available for use with raw
7583 sensor output streams,<wbr> listed as width,<wbr>
7584 height
7585 </td>
7586
7587 <td class="entry_units">
7588 </td>
7589
7590 <td class="entry_range">
7591 Must include: - sensor maximum resolution
7592 </td>
7593
7594 <td class="entry_notes">
7595 </td>
7596
7597 <td class="entry_tags">
7598 </td>
7599
7600 </tr> <!-- end of entry -->
7601
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007602
7603
7604 <!-- end of kind -->
7605 </tbody>
7606 <tr><td colspan="7" class="kind">dynamic</td></tr>
7607
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007608 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007609 <tr>
7610 <th class="th_name">Property Name</th>
7611 <th class="th_type">Type</th>
7612 <th class="th_description">Description</th>
7613 <th class="th_units">Units</th>
7614 <th class="th_range">Range</th>
7615 <th class="th_notes">Notes</th>
7616 <th class="th_tags">Tags</th>
7617 </tr>
7618 </thead>
7619
7620 <tbody>
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7632 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7633 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007634 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007635 <span class="entry_type_container">x</span>
7636
7637 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007638 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007639 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007640 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007641
7642
7643 </td> <!-- entry_type -->
7644
7645 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007646 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7647<br>
7648<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7649 (width,<wbr> height).<wbr> The region of the sensor that is used for
7650 output.<wbr> Each stream must use this rectangle to produce its
7651 output,<wbr> cropping to a smaller region if necessary to
7652 maintain the stream's aspect ratio.<wbr>
7653<br>
7654<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007655 </td>
7656
7657 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007658 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7659 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007660 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007661 </td>
7662
7663 <td class="entry_range">
7664 </td>
7665
7666 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007667
7668 Any additional per-stream cropping must be done to
7669 maximize the final pixel area of the stream.<wbr>
7670<br>
7671<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7672 ratio,<wbr> then 4:3 streams should use the exact crop
7673 region.<wbr> 16:9 streams should further crop vertically
7674 (letterbox).<wbr>
7675<br>
7676<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7677 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7678 streams should match exactly.<wbr> These additional crops must
7679 be centered within the crop region.<wbr>
7680<br>
7681<br> The output streams must maintain square pixels at all
7682 times,<wbr> no matter what the relative aspect ratios of the
7683 crop region and the stream are.<wbr> Negative values for
7684 corner are allowed for raw output if full pixel array is
7685 larger than active pixel array.<wbr> Width and height may be
7686 rounded to nearest larger supportable width,<wbr> especially
7687 for raw output,<wbr> where only a few fixed scales may be
7688 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007689 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007690 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007691 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007692 respectively.<wbr>
7693
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007694 </td>
7695
7696 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007697 <ul class="entry_tags">
7698 <li><a href="#tag_BC">BC</a></li>
7699 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007700 </td>
7701
7702 </tr> <!-- end of entry -->
7703
7704
7705
7706 <!-- end of kind -->
7707 </tbody>
7708
7709 <!-- end of section -->
7710 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7711
7712
7713 <tr><td colspan="7" class="kind">controls</td></tr>
7714
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007715 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007716 <tr>
7717 <th class="th_name">Property Name</th>
7718 <th class="th_type">Type</th>
7719 <th class="th_description">Description</th>
7720 <th class="th_units">Units</th>
7721 <th class="th_range">Range</th>
7722 <th class="th_notes">Notes</th>
7723 <th class="th_tags">Tags</th>
7724 </tr>
7725 </thead>
7726
7727 <tbody>
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738 <tr class="entry" id="controls_android.sensor.exposureTime">
7739 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7740 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007741 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007742
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007743 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007744
7745
7746 </td> <!-- entry_type -->
7747
7748 <td class="entry_description">
7749 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007750 light.<wbr>
7751<br>
7752<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7753 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7754
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007755 </td>
7756
7757 <td class="entry_units">
7758 nanoseconds
7759 </td>
7760
7761 <td class="entry_range">
7762 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7763 </td>
7764
7765 <td class="entry_notes">
7766 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7767 </td>
7768
7769 <td class="entry_tags">
7770 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007771 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007772 </ul>
7773 </td>
7774
7775 </tr> <!-- end of entry -->
7776
7777
7778 <tr class="entry" id="controls_android.sensor.frameDuration">
7779 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7780 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007781 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007782
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007783 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007784
7785
7786 </td> <!-- entry_type -->
7787
7788 <td class="entry_description">
7789 Duration from start of frame exposure to
7790 start of next frame exposure
7791 </td>
7792
7793 <td class="entry_units">
7794 nanoseconds
7795 </td>
7796
7797 <td class="entry_range">
7798 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7799 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7800 </td>
7801
7802 <td class="entry_notes">
7803 Exposure time has priority,<wbr> so duration is set to
7804 max(duration,<wbr> exposure time + overhead)
7805 </td>
7806
7807 <td class="entry_tags">
7808 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007809 <li><a href="#tag_V1">V1</a></li>
7810 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007811 </ul>
7812 </td>
7813
7814 </tr> <!-- end of entry -->
7815
7816
7817 <tr class="entry" id="controls_android.sensor.sensitivity">
7818 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007820 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007822 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007823
7824
7825 </td> <!-- entry_type -->
7826
7827 <td class="entry_description">
7828 Gain applied to image data.<wbr> Must be
7829 implemented through analog gain only if set to values
7830 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007831<br>
7832<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7833 gain to the nearest possible value (rather than gain more).<wbr>
7834
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007835 </td>
7836
7837 <td class="entry_units">
7838 ISO arithmetic units
7839 </td>
7840
7841 <td class="entry_range">
7842 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7843 </td>
7844
7845 <td class="entry_notes">
7846 ISO 12232:2006 REI method
7847 </td>
7848
7849 <td class="entry_tags">
7850 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007851 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007852 </ul>
7853 </td>
7854
7855 </tr> <!-- end of entry -->
7856
7857
7858
7859 <!-- end of kind -->
7860 </tbody>
7861 <tr><td colspan="7" class="kind">static</td></tr>
7862
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007863 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007864 <tr>
7865 <th class="th_name">Property Name</th>
7866 <th class="th_type">Type</th>
7867 <th class="th_description">Description</th>
7868 <th class="th_units">Units</th>
7869 <th class="th_range">Range</th>
7870 <th class="th_notes">Notes</th>
7871 <th class="th_tags">Tags</th>
7872 </tr>
7873 </thead>
7874
7875 <tbody>
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7889 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7890 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007891 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007892 <span class="entry_type_container">x</span>
7893
7894 <span class="entry_type_array">
7895 4
7896 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007897 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007898 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7899
7900
7901 </td> <!-- entry_type -->
7902
7903 <td class="entry_description">
7904 Area of raw data which corresponds to only
7905 active pixels; smaller or equal to
7906 pixelArraySize.<wbr>
7907 </td>
7908
7909 <td class="entry_units">
7910 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7911 pixel array is (0,<wbr>0)
7912 </td>
7913
7914 <td class="entry_range">
7915 </td>
7916
7917 <td class="entry_notes">
7918 </td>
7919
7920 <td class="entry_tags">
7921 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007922 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007923 </ul>
7924 </td>
7925
7926 </tr> <!-- end of entry -->
7927
7928
Zhijun He69fc0ea2013-07-17 09:42:58 -07007929 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7930 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007931 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007932 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007933 <span class="entry_type_container">x</span>
7934
7935 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007936 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007937 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007938 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007939 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007940
7941
7942 </td> <!-- entry_type -->
7943
7944 <td class="entry_description">
7945 Range of valid sensitivities
7946 </td>
7947
7948 <td class="entry_units">
7949 </td>
7950
7951 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007952 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007953 </td>
7954
7955 <td class="entry_notes">
7956 </td>
7957
7958 <td class="entry_tags">
7959 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007960 <li><a href="#tag_BC">BC</a></li>
7961 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007962 </ul>
7963 </td>
7964
7965 </tr> <!-- end of entry -->
7966
7967
7968 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7969 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7970 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007971 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007973 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007974
7975 <ul class="entry_type_enum">
7976 <li>
7977 <span class="entry_type_enum_name">RGGB</span>
7978 </li>
7979 <li>
7980 <span class="entry_type_enum_name">GRBG</span>
7981 </li>
7982 <li>
7983 <span class="entry_type_enum_name">GBRG</span>
7984 </li>
7985 <li>
7986 <span class="entry_type_enum_name">BGGR</span>
7987 </li>
7988 <li>
7989 <span class="entry_type_enum_name">RGB</span>
7990 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7991 values for each pixel,<wbr> instead of just 1 16-bit value
7992 per pixel.<wbr></span>
7993 </li>
7994 </ul>
7995
7996 </td> <!-- entry_type -->
7997
7998 <td class="entry_description">
7999 Arrangement of color filters on sensor;
8000 represents the colors in the top-left 2x2 section of
8001 the sensor,<wbr> in reading order
8002 </td>
8003
8004 <td class="entry_units">
8005 </td>
8006
8007 <td class="entry_range">
8008 </td>
8009
8010 <td class="entry_notes">
8011 </td>
8012
8013 <td class="entry_tags">
8014 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008015 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008016 </ul>
8017 </td>
8018
8019 </tr> <!-- end of entry -->
8020
8021
8022 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8023 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8024 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008025 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008026 <span class="entry_type_container">x</span>
8027
8028 <span class="entry_type_array">
8029 2
8030 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008031 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008032 <div class="entry_type_notes">nanoseconds</div>
8033
8034
8035 </td> <!-- entry_type -->
8036
8037 <td class="entry_description">
8038 Range of valid exposure
8039 times
8040 </td>
8041
8042 <td class="entry_units">
8043 </td>
8044
8045 <td class="entry_range">
8046 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8047 sec)
8048 </td>
8049
8050 <td class="entry_notes">
8051 </td>
8052
8053 <td class="entry_tags">
8054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008055 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008056 </ul>
8057 </td>
8058
8059 </tr> <!-- end of entry -->
8060
8061
8062 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8063 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008065 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008066
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008067 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008068
8069
8070 </td> <!-- entry_type -->
8071
8072 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008073 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008074 rate)
8075 </td>
8076
8077 <td class="entry_units">
8078 nanoseconds
8079 </td>
8080
8081 <td class="entry_range">
8082 >= 30e9
8083 </td>
8084
8085 <td class="entry_notes">
8086 Minimum duration is a function of resolution,<wbr>
8087 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008088 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8089 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8090 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008091 </td>
8092
8093 <td class="entry_tags">
8094 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008095 <li><a href="#tag_BC">BC</a></li>
8096 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008097 </ul>
8098 </td>
8099
8100 </tr> <!-- end of entry -->
8101
8102
8103 <tr class="entry" id="static_android.sensor.info.physicalSize">
8104 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8105 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008106 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008107 <span class="entry_type_container">x</span>
8108
8109 <span class="entry_type_array">
8110 2
8111 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008112 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008113 <div class="entry_type_notes">width x height in millimeters</div>
8114
8115
8116 </td> <!-- entry_type -->
8117
8118 <td class="entry_description">
8119 The physical dimensions of the full pixel
8120 array
8121 </td>
8122
8123 <td class="entry_units">
8124 </td>
8125
8126 <td class="entry_range">
8127 </td>
8128
8129 <td class="entry_notes">
8130 Needed for FOV calculation for old API
8131 </td>
8132
8133 <td class="entry_tags">
8134 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008135 <li><a href="#tag_V1">V1</a></li>
8136 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008137 </ul>
8138 </td>
8139
8140 </tr> <!-- end of entry -->
8141
8142
8143 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8144 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8145 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008146 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008147 <span class="entry_type_container">x</span>
8148
8149 <span class="entry_type_array">
8150 2
8151 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008152 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008153
8154
8155 </td> <!-- entry_type -->
8156
8157 <td class="entry_description">
8158 Dimensions of full pixel array,<wbr> possibly
8159 including black calibration pixels
8160 </td>
8161
8162 <td class="entry_units">
8163 </td>
8164
8165 <td class="entry_range">
8166 </td>
8167
8168 <td class="entry_notes">
8169 Maximum output resolution for raw format must
8170 match this in
8171 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8172 </td>
8173
8174 <td class="entry_tags">
8175 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008176 <li><a href="#tag_DNG">DNG</a></li>
8177 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008178 </ul>
8179 </td>
8180
8181 </tr> <!-- end of entry -->
8182
8183
8184 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8185 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008187 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008188
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008189 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008190
8191
8192 </td> <!-- entry_type -->
8193
8194 <td class="entry_description">
8195 Maximum raw value output by
8196 sensor
8197 </td>
8198
8199 <td class="entry_units">
8200 </td>
8201
8202 <td class="entry_range">
8203 > 1024 (10-bit output)
8204 </td>
8205
8206 <td class="entry_notes">
8207 Defines sensor bit depth (10-14 bits is
8208 expected)
8209 </td>
8210
8211 <td class="entry_tags">
8212 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008213 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008214 </ul>
8215 </td>
8216
8217 </tr> <!-- end of entry -->
8218
8219
8220
8221
8222
8223 <tr class="entry" id="static_android.sensor.baseGainFactor">
8224 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8225 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008226 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008227
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008228 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008229
8230
8231 </td> <!-- entry_type -->
8232
8233 <td class="entry_description">
8234 Gain factor from electrons to raw units when
8235 ISO=100
8236 </td>
8237
8238 <td class="entry_units">
8239 </td>
8240
8241 <td class="entry_range">
8242 </td>
8243
8244 <td class="entry_notes">
8245 </td>
8246
8247 <td class="entry_tags">
8248 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008249 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008250 </ul>
8251 </td>
8252
8253 </tr> <!-- end of entry -->
8254
8255
8256 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8257 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8258 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008259 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008260 <span class="entry_type_container">x</span>
8261
8262 <span class="entry_type_array">
8263 4
8264 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008265 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008266 <div class="entry_type_notes">2x2 raw count block</div>
8267
8268
8269 </td> <!-- entry_type -->
8270
8271 <td class="entry_description">
8272 A fixed black level offset for each of the
8273 Bayer mosaic channels
8274 </td>
8275
8276 <td class="entry_units">
8277 </td>
8278
8279 <td class="entry_range">
8280 >= 0 each
8281 </td>
8282
8283 <td class="entry_notes">
8284 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8285 tags
8286 </td>
8287
8288 <td class="entry_tags">
8289 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008290 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008291 </ul>
8292 </td>
8293
8294 </tr> <!-- end of entry -->
8295
8296
8297 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8298 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8299 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008300 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008301 <span class="entry_type_container">x</span>
8302
8303 <span class="entry_type_array">
8304 9
8305 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008306 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008307 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8308
8309
8310 </td> <!-- entry_type -->
8311
8312 <td class="entry_description">
8313 Per-device calibration on top of color space
8314 transform 1
8315 </td>
8316
8317 <td class="entry_units">
8318 </td>
8319
8320 <td class="entry_range">
8321 </td>
8322
8323 <td class="entry_notes">
8324 </td>
8325
8326 <td class="entry_tags">
8327 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008328 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008329 </ul>
8330 </td>
8331
8332 </tr> <!-- end of entry -->
8333
8334
8335 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8336 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8337 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008338 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008339 <span class="entry_type_container">x</span>
8340
8341 <span class="entry_type_array">
8342 9
8343 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008344 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008345 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8346
8347
8348 </td> <!-- entry_type -->
8349
8350 <td class="entry_description">
8351 Per-device calibration on top of color space
8352 transform 2
8353 </td>
8354
8355 <td class="entry_units">
8356 </td>
8357
8358 <td class="entry_range">
8359 </td>
8360
8361 <td class="entry_notes">
8362 </td>
8363
8364 <td class="entry_tags">
8365 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008366 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008367 </ul>
8368 </td>
8369
8370 </tr> <!-- end of entry -->
8371
8372
8373 <tr class="entry" id="static_android.sensor.colorTransform1">
8374 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8375 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008376 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008377 <span class="entry_type_container">x</span>
8378
8379 <span class="entry_type_array">
8380 9
8381 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008382 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008383 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8384
8385
8386 </td> <!-- entry_type -->
8387
8388 <td class="entry_description">
8389 Linear mapping from XYZ (D50) color space to
8390 reference linear sensor color,<wbr> for first reference
8391 illuminant
8392 </td>
8393
8394 <td class="entry_units">
8395 </td>
8396
8397 <td class="entry_range">
8398 </td>
8399
8400 <td class="entry_notes">
8401 Use as follows XYZ = inv(transform) * clip( (raw -
8402 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8403 At least in the simple case
8404 </td>
8405
8406 <td class="entry_tags">
8407 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008408 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008409 </ul>
8410 </td>
8411
8412 </tr> <!-- end of entry -->
8413
8414
8415 <tr class="entry" id="static_android.sensor.colorTransform2">
8416 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008418 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008419 <span class="entry_type_container">x</span>
8420
8421 <span class="entry_type_array">
8422 9
8423 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008424 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008425 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8426
8427
8428 </td> <!-- entry_type -->
8429
8430 <td class="entry_description">
8431 Linear mapping from XYZ (D50) color space to
8432 reference linear sensor color,<wbr> for second reference
8433 illuminant
8434 </td>
8435
8436 <td class="entry_units">
8437 </td>
8438
8439 <td class="entry_range">
8440 </td>
8441
8442 <td class="entry_notes">
8443 </td>
8444
8445 <td class="entry_tags">
8446 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008447 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008448 </ul>
8449 </td>
8450
8451 </tr> <!-- end of entry -->
8452
8453
8454 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8455 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8456 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008457 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008458 <span class="entry_type_container">x</span>
8459
8460 <span class="entry_type_array">
8461 9
8462 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008463 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008464 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8465
8466
8467 </td> <!-- entry_type -->
8468
8469 <td class="entry_description">
8470 Used by DNG for better WB
8471 adaptation
8472 </td>
8473
8474 <td class="entry_units">
8475 </td>
8476
8477 <td class="entry_range">
8478 </td>
8479
8480 <td class="entry_notes">
8481 </td>
8482
8483 <td class="entry_tags">
8484 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008485 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008486 </ul>
8487 </td>
8488
8489 </tr> <!-- end of entry -->
8490
8491
8492 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8493 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8494 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008495 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008496 <span class="entry_type_container">x</span>
8497
8498 <span class="entry_type_array">
8499 9
8500 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008501 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008502 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8503
8504
8505 </td> <!-- entry_type -->
8506
8507 <td class="entry_description">
8508 Used by DNG for better WB
8509 adaptation
8510 </td>
8511
8512 <td class="entry_units">
8513 </td>
8514
8515 <td class="entry_range">
8516 </td>
8517
8518 <td class="entry_notes">
8519 </td>
8520
8521 <td class="entry_tags">
8522 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008523 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008524 </ul>
8525 </td>
8526
8527 </tr> <!-- end of entry -->
8528
8529
8530 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8531 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8532 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008533 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008534
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008535 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536
8537
8538 </td> <!-- entry_type -->
8539
8540 <td class="entry_description">
8541 Maximum sensitivity that is implemented
8542 purely through analog gain
8543 </td>
8544
8545 <td class="entry_units">
8546 </td>
8547
8548 <td class="entry_range">
8549 </td>
8550
8551 <td class="entry_notes">
8552 For android.<wbr>sensor.<wbr>sensitivity values less than or
8553 equal to this,<wbr> all applied gain must be analog.<wbr> For
8554 values above this,<wbr> it can be a mix of analog and
8555 digital
8556 </td>
8557
8558 <td class="entry_tags">
8559 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008560 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008561 </ul>
8562 </td>
8563
8564 </tr> <!-- end of entry -->
8565
8566
8567 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8568 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008570 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008571 <span class="entry_type_container">x</span>
8572
8573 <span class="entry_type_array">
8574 2
8575 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008576 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008577 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8578
8579
8580 </td> <!-- entry_type -->
8581
8582 <td class="entry_description">
8583 Estimation of sensor noise
8584 characteristics
8585 </td>
8586
8587 <td class="entry_units">
8588 var(raw pixel value) = electrons * (baseGainFactor
8589 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8590 B
8591 </td>
8592
8593 <td class="entry_range">
8594 </td>
8595
8596 <td class="entry_notes">
8597 A represents sensor read noise before analog
8598 amplification; B represents noise from A/<wbr>D conversion and
8599 other circuits after amplification.<wbr> Both noise sources
8600 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8601 across the sensor
8602 </td>
8603
8604 <td class="entry_tags">
8605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008606 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008607 </ul>
8608 </td>
8609
8610 </tr> <!-- end of entry -->
8611
8612
8613 <tr class="entry" id="static_android.sensor.orientation">
8614 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008616 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008617
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008618 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008619
8620
8621 </td> <!-- entry_type -->
8622
8623 <td class="entry_description">
8624 Clockwise angle through which the output
8625 image needs to be rotated to be upright on the device
8626 screen in its native orientation.<wbr> Also defines the
8627 direction of rolling shutter readout,<wbr> which is from top
8628 to bottom in the sensor's coordinate system
8629 </td>
8630
8631 <td class="entry_units">
8632 degrees clockwise rotation,<wbr> only multiples of
8633 90
8634 </td>
8635
8636 <td class="entry_range">
8637 0,<wbr>90,<wbr>180,<wbr>270
8638 </td>
8639
8640 <td class="entry_notes">
8641 </td>
8642
8643 <td class="entry_tags">
8644 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008645 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008646 </ul>
8647 </td>
8648
8649 </tr> <!-- end of entry -->
8650
8651
8652 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8653 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008655 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008657 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008658
8659 <ul class="entry_type_enum">
8660 <li>
8661 <span class="entry_type_enum_name">DAYLIGHT</span>
8662 <span class="entry_type_enum_value">1</span>
8663 </li>
8664 <li>
8665 <span class="entry_type_enum_name">FLUORESCENT</span>
8666 <span class="entry_type_enum_value">2</span>
8667 </li>
8668 <li>
8669 <span class="entry_type_enum_name">TUNGSTEN</span>
8670 <span class="entry_type_enum_value">3</span>
8671 <span class="entry_type_enum_notes">Incandescent light</span>
8672 </li>
8673 <li>
8674 <span class="entry_type_enum_name">FLASH</span>
8675 <span class="entry_type_enum_value">4</span>
8676 </li>
8677 <li>
8678 <span class="entry_type_enum_name">FINE_WEATHER</span>
8679 <span class="entry_type_enum_value">9</span>
8680 </li>
8681 <li>
8682 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8683 <span class="entry_type_enum_value">10</span>
8684 </li>
8685 <li>
8686 <span class="entry_type_enum_name">SHADE</span>
8687 <span class="entry_type_enum_value">11</span>
8688 </li>
8689 <li>
8690 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8691 <span class="entry_type_enum_value">12</span>
8692 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8693 </li>
8694 <li>
8695 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8696 <span class="entry_type_enum_value">13</span>
8697 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8698 </li>
8699 <li>
8700 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8701 <span class="entry_type_enum_value">14</span>
8702 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8703 </li>
8704 <li>
8705 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8706 <span class="entry_type_enum_value">15</span>
8707 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8708 </li>
8709 <li>
8710 <span class="entry_type_enum_name">STANDARD_A</span>
8711 <span class="entry_type_enum_value">17</span>
8712 </li>
8713 <li>
8714 <span class="entry_type_enum_name">STANDARD_B</span>
8715 <span class="entry_type_enum_value">18</span>
8716 </li>
8717 <li>
8718 <span class="entry_type_enum_name">STANDARD_C</span>
8719 <span class="entry_type_enum_value">19</span>
8720 </li>
8721 <li>
8722 <span class="entry_type_enum_name">D55</span>
8723 <span class="entry_type_enum_value">20</span>
8724 </li>
8725 <li>
8726 <span class="entry_type_enum_name">D65</span>
8727 <span class="entry_type_enum_value">21</span>
8728 </li>
8729 <li>
8730 <span class="entry_type_enum_name">D75</span>
8731 <span class="entry_type_enum_value">22</span>
8732 </li>
8733 <li>
8734 <span class="entry_type_enum_name">D50</span>
8735 <span class="entry_type_enum_value">23</span>
8736 </li>
8737 <li>
8738 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8739 <span class="entry_type_enum_value">24</span>
8740 </li>
8741 </ul>
8742
8743 </td> <!-- entry_type -->
8744
8745 <td class="entry_description">
8746 Light source used to define transform
8747 1
8748 </td>
8749
8750 <td class="entry_units">
8751 </td>
8752
8753 <td class="entry_range">
8754 </td>
8755
8756 <td class="entry_notes">
8757 [EXIF LightSource tag] Must all these be
8758 supported? Need CCT for each!
8759 </td>
8760
8761 <td class="entry_tags">
8762 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008763 <li><a href="#tag_DNG">DNG</a></li>
8764 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008765 </ul>
8766 </td>
8767
8768 </tr> <!-- end of entry -->
8769
8770
8771 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8772 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008774 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008777
8778
8779 </td> <!-- entry_type -->
8780
8781 <td class="entry_description">
8782 Light source used to define transform
8783 2
8784 </td>
8785
8786 <td class="entry_units">
8787 Same as illuminant 1
8788 </td>
8789
8790 <td class="entry_range">
8791 </td>
8792
8793 <td class="entry_notes">
8794 </td>
8795
8796 <td class="entry_tags">
8797 </td>
8798
8799 </tr> <!-- end of entry -->
8800
8801
8802
8803 <!-- end of kind -->
8804 </tbody>
8805 <tr><td colspan="7" class="kind">dynamic</td></tr>
8806
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008807 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008808 <tr>
8809 <th class="th_name">Property Name</th>
8810 <th class="th_type">Type</th>
8811 <th class="th_description">Description</th>
8812 <th class="th_units">Units</th>
8813 <th class="th_range">Range</th>
8814 <th class="th_notes">Notes</th>
8815 <th class="th_tags">Tags</th>
8816 </tr>
8817 </thead>
8818
8819 <tbody>
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8831 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8832 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008833 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008834
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008835 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008836
8837
8838 </td> <!-- entry_type -->
8839
8840 <td class="entry_description">
8841 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008842 light.<wbr>
8843<br>
8844<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8845 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8846
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008847 </td>
8848
8849 <td class="entry_units">
8850 nanoseconds
8851 </td>
8852
8853 <td class="entry_range">
8854 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8855 </td>
8856
8857 <td class="entry_notes">
8858 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8859 </td>
8860
8861 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008862 <ul class="entry_tags">
8863 <li><a href="#tag_V1">V1</a></li>
8864 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008865 </td>
8866
8867 </tr> <!-- end of entry -->
8868
8869
8870 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8871 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8872 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008873 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008874
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008875 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008876
8877
8878 </td> <!-- entry_type -->
8879
8880 <td class="entry_description">
8881 Duration from start of frame exposure to
8882 start of next frame exposure
8883 </td>
8884
8885 <td class="entry_units">
8886 nanoseconds
8887 </td>
8888
8889 <td class="entry_range">
8890 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8891 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8892 </td>
8893
8894 <td class="entry_notes">
8895 Exposure time has priority,<wbr> so duration is set to
8896 max(duration,<wbr> exposure time + overhead)
8897 </td>
8898
8899 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008900 <ul class="entry_tags">
8901 <li><a href="#tag_V1">V1</a></li>
8902 <li><a href="#tag_BC">BC</a></li>
8903 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904 </td>
8905
8906 </tr> <!-- end of entry -->
8907
8908
8909 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8910 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8911 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008912 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008913
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008914 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008915
8916
8917 </td> <!-- entry_type -->
8918
8919 <td class="entry_description">
8920 Gain applied to image data.<wbr> Must be
8921 implemented through analog gain only if set to values
8922 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008923<br>
8924<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8925 gain to the nearest possible value (rather than gain more).<wbr>
8926
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008927 </td>
8928
8929 <td class="entry_units">
8930 ISO arithmetic units
8931 </td>
8932
8933 <td class="entry_range">
8934 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8935 </td>
8936
8937 <td class="entry_notes">
8938 ISO 12232:2006 REI method
8939 </td>
8940
8941 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008942 <ul class="entry_tags">
8943 <li><a href="#tag_V1">V1</a></li>
8944 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008945 </td>
8946
8947 </tr> <!-- end of entry -->
8948
8949
8950 <tr class="entry" id="dynamic_android.sensor.timestamp">
8951 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8952 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008953 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008954
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008955 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008956
8957
8958 </td> <!-- entry_type -->
8959
8960 <td class="entry_description">
8961 Time at start of exposure of first
8962 row
8963 </td>
8964
8965 <td class="entry_units">
8966 nanoseconds
8967 </td>
8968
8969 <td class="entry_range">
8970 > 0
8971 </td>
8972
8973 <td class="entry_notes">
8974 Monotonic,<wbr> should be synced to other timestamps in
8975 system
8976 </td>
8977
8978 <td class="entry_tags">
8979 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008980 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981 </ul>
8982 </td>
8983
8984 </tr> <!-- end of entry -->
8985
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008986
8987 <tr class="entry" id="dynamic_android.sensor.temperature">
8988 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8989 <td class="entry_type">
8990 <span class="entry_type_name">float</span>
8991
8992 <span class="entry_type_visibility"> [public]</span>
8993
8994
8995 </td> <!-- entry_type -->
8996
8997 <td class="entry_description">
8998 The temperature of the sensor,<wbr> sampled at the time
8999 exposure began for this frame.<wbr>
9000<br>
9001<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
9002 somewhere close to it.<wbr>
9003
9004 </td>
9005
9006 <td class="entry_units">
9007 celsius
9008 </td>
9009
9010 <td class="entry_range">
9011 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9012 </td>
9013
9014 <td class="entry_notes">
9015 </td>
9016
9017 <td class="entry_tags">
9018 </td>
9019
9020 </tr> <!-- end of entry -->
9021
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009022
9023
9024 <!-- end of kind -->
9025 </tbody>
9026
9027 <!-- end of section -->
9028 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9029
9030
9031 <tr><td colspan="7" class="kind">controls</td></tr>
9032
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009033 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009034 <tr>
9035 <th class="th_name">Property Name</th>
9036 <th class="th_type">Type</th>
9037 <th class="th_description">Description</th>
9038 <th class="th_units">Units</th>
9039 <th class="th_range">Range</th>
9040 <th class="th_notes">Notes</th>
9041 <th class="th_tags">Tags</th>
9042 </tr>
9043 </thead>
9044
9045 <tbody>
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056 <tr class="entry" id="controls_android.shading.mode">
9057 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9058 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009059 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009060
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009061 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009062
9063 <ul class="entry_type_enum">
9064 <li>
9065 <span class="entry_type_enum_name">OFF</span>
9066 <span class="entry_type_enum_notes">No shading correction is applied</span>
9067 </li>
9068 <li>
9069 <span class="entry_type_enum_name">FAST</span>
9070 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9071 bayer output</span>
9072 </li>
9073 <li>
9074 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9075 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9076 quality</span>
9077 </li>
9078 </ul>
9079
9080 </td> <!-- entry_type -->
9081
9082 <td class="entry_description">
9083 Quality of lens shading correction applied
9084 to the image data
9085 </td>
9086
9087 <td class="entry_units">
9088 </td>
9089
9090 <td class="entry_range">
9091 </td>
9092
9093 <td class="entry_notes">
9094 </td>
9095
9096 <td class="entry_tags">
9097 </td>
9098
9099 </tr> <!-- end of entry -->
9100
9101
9102 <tr class="entry" id="controls_android.shading.strength">
9103 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9104 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009105 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009106
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009107 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009108
9109
9110 </td> <!-- entry_type -->
9111
9112 <td class="entry_description">
9113 Control the amount of shading correction
9114 applied to the images
9115 </td>
9116
9117 <td class="entry_units">
9118 unitless: 1-10; 10 is full shading
9119 compensation
9120 </td>
9121
9122 <td class="entry_range">
9123 </td>
9124
9125 <td class="entry_notes">
9126 </td>
9127
9128 <td class="entry_tags">
9129 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009130 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009131 </ul>
9132 </td>
9133
9134 </tr> <!-- end of entry -->
9135
9136
9137
9138 <!-- end of kind -->
9139 </tbody>
9140 <tr><td colspan="7" class="kind">dynamic</td></tr>
9141
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009142 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009143 <tr>
9144 <th class="th_name">Property Name</th>
9145 <th class="th_type">Type</th>
9146 <th class="th_description">Description</th>
9147 <th class="th_units">Units</th>
9148 <th class="th_range">Range</th>
9149 <th class="th_notes">Notes</th>
9150 <th class="th_tags">Tags</th>
9151 </tr>
9152 </thead>
9153
9154 <tbody>
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165 <tr class="entry" id="dynamic_android.shading.mode">
9166 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9167 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009168 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009169
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009170 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009171
9172 <ul class="entry_type_enum">
9173 <li>
9174 <span class="entry_type_enum_name">OFF</span>
9175 <span class="entry_type_enum_notes">No shading correction is applied</span>
9176 </li>
9177 <li>
9178 <span class="entry_type_enum_name">FAST</span>
9179 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9180 bayer output</span>
9181 </li>
9182 <li>
9183 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9184 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9185 quality</span>
9186 </li>
9187 </ul>
9188
9189 </td> <!-- entry_type -->
9190
9191 <td class="entry_description">
9192 Quality of lens shading correction applied
9193 to the image data
9194 </td>
9195
9196 <td class="entry_units">
9197 </td>
9198
9199 <td class="entry_range">
9200 </td>
9201
9202 <td class="entry_notes">
9203 </td>
9204
9205 <td class="entry_tags">
9206 </td>
9207
9208 </tr> <!-- end of entry -->
9209
9210
9211
9212 <!-- end of kind -->
9213 </tbody>
9214
9215 <!-- end of section -->
9216 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9217
9218
9219 <tr><td colspan="7" class="kind">controls</td></tr>
9220
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009221 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009222 <tr>
9223 <th class="th_name">Property Name</th>
9224 <th class="th_type">Type</th>
9225 <th class="th_description">Description</th>
9226 <th class="th_units">Units</th>
9227 <th class="th_range">Range</th>
9228 <th class="th_notes">Notes</th>
9229 <th class="th_tags">Tags</th>
9230 </tr>
9231 </thead>
9232
9233 <tbody>
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9245 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9246 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009247 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009248
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009249 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009250
9251 <ul class="entry_type_enum">
9252 <li>
9253 <span class="entry_type_enum_name">OFF</span>
9254 </li>
9255 <li>
9256 <span class="entry_type_enum_name">SIMPLE</span>
9257 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9258 only</span>
9259 </li>
9260 <li>
9261 <span class="entry_type_enum_name">FULL</span>
9262 <span class="entry_type_enum_notes">Optional Return all face
9263 metadata</span>
9264 </li>
9265 </ul>
9266
9267 </td> <!-- entry_type -->
9268
9269 <td class="entry_description">
9270 State of the face detector
9271 unit
9272 </td>
9273
9274 <td class="entry_units">
9275 </td>
9276
9277 <td class="entry_range">
9278
Zhijun He69fc0ea2013-07-17 09:42:58 -07009279 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009280 </td>
9281
9282 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009283 Whether face detection is enabled,<wbr> and whether it
9284 should output just the basic fields or the full set of
9285 fields.<wbr> Value must be one of the
9286 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009287 </td>
9288
9289 <td class="entry_tags">
9290 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009291 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009292 </ul>
9293 </td>
9294
9295 </tr> <!-- end of entry -->
9296
9297
9298 <tr class="entry" id="controls_android.statistics.histogramMode">
9299 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009301 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009302
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009303 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009304
9305 <ul class="entry_type_enum">
9306 <li>
9307 <span class="entry_type_enum_name">OFF</span>
9308 </li>
9309 <li>
9310 <span class="entry_type_enum_name">ON</span>
9311 </li>
9312 </ul>
9313
9314 </td> <!-- entry_type -->
9315
9316 <td class="entry_description">
9317 Operating mode for histogram
9318 generation
9319 </td>
9320
9321 <td class="entry_units">
9322 </td>
9323
9324 <td class="entry_range">
9325 </td>
9326
9327 <td class="entry_notes">
9328 </td>
9329
9330 <td class="entry_tags">
9331 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009332 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009333 </ul>
9334 </td>
9335
9336 </tr> <!-- end of entry -->
9337
9338
9339 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9340 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9341 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009342 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009343
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009344 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009345
9346 <ul class="entry_type_enum">
9347 <li>
9348 <span class="entry_type_enum_name">OFF</span>
9349 </li>
9350 <li>
9351 <span class="entry_type_enum_name">ON</span>
9352 </li>
9353 </ul>
9354
9355 </td> <!-- entry_type -->
9356
9357 <td class="entry_description">
9358 Operating mode for sharpness map
9359 generation
9360 </td>
9361
9362 <td class="entry_units">
9363 </td>
9364
9365 <td class="entry_range">
9366 </td>
9367
9368 <td class="entry_notes">
9369 </td>
9370
9371 <td class="entry_tags">
9372 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009373 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009374 </ul>
9375 </td>
9376
9377 </tr> <!-- end of entry -->
9378
Zhijun He69fc0ea2013-07-17 09:42:58 -07009379
9380 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9381 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9382 <td class="entry_type">
9383 <span class="entry_type_name entry_type_name_enum">byte</span>
9384
9385 <span class="entry_type_visibility"> [public]</span>
9386
9387 <ul class="entry_type_enum">
9388 <li>
9389 <span class="entry_type_enum_name">OFF</span>
9390 </li>
9391 <li>
9392 <span class="entry_type_enum_name">ON</span>
9393 </li>
9394 </ul>
9395
9396 </td> <!-- entry_type -->
9397
9398 <td class="entry_description">
9399 Whether the HAL needs to output the lens
9400 shading map in output result metadata
9401 </td>
9402
9403 <td class="entry_units">
9404 </td>
9405
9406 <td class="entry_range">
9407 </td>
9408
9409 <td class="entry_notes">
9410 When set to ON,<wbr>
9411 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9412 the output result metdata.<wbr>
9413 </td>
9414
9415 <td class="entry_tags">
9416 </td>
9417
9418 </tr> <!-- end of entry -->
9419
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009420
9421
9422 <!-- end of kind -->
9423 </tbody>
9424 <tr><td colspan="7" class="kind">static</td></tr>
9425
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009426 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009427 <tr>
9428 <th class="th_name">Property Name</th>
9429 <th class="th_type">Type</th>
9430 <th class="th_description">Description</th>
9431 <th class="th_units">Units</th>
9432 <th class="th_range">Range</th>
9433 <th class="th_notes">Notes</th>
9434 <th class="th_tags">Tags</th>
9435 </tr>
9436 </thead>
9437
9438 <tbody>
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9452 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009454 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009455 <span class="entry_type_container">x</span>
9456
9457 <span class="entry_type_array">
9458 n
9459 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009460 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009461 <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 -08009462
9463
9464 </td> <!-- entry_type -->
9465
9466 <td class="entry_description">
9467 Which face detection modes are available,<wbr>
9468 if any
9469 </td>
9470
9471 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009472 List of enum:
9473 OFF
9474 SIMPLE
9475 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009476 </td>
9477
9478 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009479 </td>
9480
9481 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009482 OFF means face detection is disabled,<wbr> it must
9483 be included in the list.<wbr>
9484<br>
9485<br> SIMPLE means the device supports the
9486 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9487 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9488<br>
9489<br> FULL means the device additionally supports the
9490 android.<wbr>statistics.<wbr>face<wbr>Ids and
9491 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9492
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009493 </td>
9494
9495 <td class="entry_tags">
9496 </td>
9497
9498 </tr> <!-- end of entry -->
9499
9500
9501 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9502 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009506 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009507
9508
9509 </td> <!-- entry_type -->
9510
9511 <td class="entry_description">
9512 Number of histogram buckets
9513 supported
9514 </td>
9515
9516 <td class="entry_units">
9517 </td>
9518
9519 <td class="entry_range">
9520 >= 64
9521 </td>
9522
9523 <td class="entry_notes">
9524 </td>
9525
9526 <td class="entry_tags">
9527 </td>
9528
9529 </tr> <!-- end of entry -->
9530
9531
9532 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9533 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9534 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009535 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009536
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009537 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009538
9539
9540 </td> <!-- entry_type -->
9541
9542 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009543 Maximum number of simultaneously detectable
9544 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009545 </td>
9546
9547 <td class="entry_units">
9548 </td>
9549
9550 <td class="entry_range">
9551 >= 4 if availableFaceDetectionModes lists
9552 modes besides OFF,<wbr> otherwise 0
9553 </td>
9554
9555 <td class="entry_notes">
9556 </td>
9557
9558 <td class="entry_tags">
9559 </td>
9560
9561 </tr> <!-- end of entry -->
9562
9563
9564 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9565 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9566 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009567 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009568
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009569 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009570
9571
9572 </td> <!-- entry_type -->
9573
9574 <td class="entry_description">
9575 Maximum value possible for a histogram
9576 bucket
9577 </td>
9578
9579 <td class="entry_units">
9580 </td>
9581
9582 <td class="entry_range">
9583 </td>
9584
9585 <td class="entry_notes">
9586 </td>
9587
9588 <td class="entry_tags">
9589 </td>
9590
9591 </tr> <!-- end of entry -->
9592
9593
9594 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9595 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9596 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009597 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009598
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009599 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009600
9601
9602 </td> <!-- entry_type -->
9603
9604 <td class="entry_description">
9605 Maximum value possible for a sharpness map
9606 region.<wbr>
9607 </td>
9608
9609 <td class="entry_units">
9610 </td>
9611
9612 <td class="entry_range">
9613 </td>
9614
9615 <td class="entry_notes">
9616 </td>
9617
9618 <td class="entry_tags">
9619 </td>
9620
9621 </tr> <!-- end of entry -->
9622
9623
9624 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9625 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9626 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009627 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009628 <span class="entry_type_container">x</span>
9629
9630 <span class="entry_type_array">
9631 2
9632 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009633 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009634 <div class="entry_type_notes">width x height</div>
9635
9636
9637 </td> <!-- entry_type -->
9638
9639 <td class="entry_description">
9640 Dimensions of the sharpness
9641 map
9642 </td>
9643
9644 <td class="entry_units">
9645 </td>
9646
9647 <td class="entry_range">
9648 Must be at least 32 x 32
9649 </td>
9650
9651 <td class="entry_notes">
9652 </td>
9653
9654 <td class="entry_tags">
9655 </td>
9656
9657 </tr> <!-- end of entry -->
9658
9659
9660
9661
9662
9663
9664 <!-- end of kind -->
9665 </tbody>
9666 <tr><td colspan="7" class="kind">dynamic</td></tr>
9667
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009668 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009669 <tr>
9670 <th class="th_name">Property Name</th>
9671 <th class="th_type">Type</th>
9672 <th class="th_description">Description</th>
9673 <th class="th_units">Units</th>
9674 <th class="th_range">Range</th>
9675 <th class="th_notes">Notes</th>
9676 <th class="th_tags">Tags</th>
9677 </tr>
9678 </thead>
9679
9680 <tbody>
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9692 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9693 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009694 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009696 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009697
9698 <ul class="entry_type_enum">
9699 <li>
9700 <span class="entry_type_enum_name">OFF</span>
9701 </li>
9702 <li>
9703 <span class="entry_type_enum_name">SIMPLE</span>
9704 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9705 only</span>
9706 </li>
9707 <li>
9708 <span class="entry_type_enum_name">FULL</span>
9709 <span class="entry_type_enum_notes">Optional Return all face
9710 metadata</span>
9711 </li>
9712 </ul>
9713
9714 </td> <!-- entry_type -->
9715
9716 <td class="entry_description">
9717 State of the face detector
9718 unit
9719 </td>
9720
9721 <td class="entry_units">
9722 </td>
9723
9724 <td class="entry_range">
9725
Zhijun He69fc0ea2013-07-17 09:42:58 -07009726 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009727 </td>
9728
9729 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009730 Whether face detection is enabled,<wbr> and whether it
9731 should output just the basic fields or the full set of
9732 fields.<wbr> Value must be one of the
9733 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009734 </td>
9735
9736 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009737 <ul class="entry_tags">
9738 <li><a href="#tag_BC">BC</a></li>
9739 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009740 </td>
9741
9742 </tr> <!-- end of entry -->
9743
9744
9745 <tr class="entry" id="dynamic_android.statistics.faceIds">
9746 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9747 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009748 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009749 <span class="entry_type_container">x</span>
9750
9751 <span class="entry_type_array">
9752 n
9753 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009754 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009755
9756
9757 </td> <!-- entry_type -->
9758
9759 <td class="entry_description">
9760 List of unique IDs for detected
9761 faces
9762 </td>
9763
9764 <td class="entry_units">
9765 </td>
9766
9767 <td class="entry_range">
9768 </td>
9769
9770 <td class="entry_notes">
9771 Only available if faceDetectMode == FULL
9772 </td>
9773
9774 <td class="entry_tags">
9775 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009776 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009777 </ul>
9778 </td>
9779
9780 </tr> <!-- end of entry -->
9781
9782
9783 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9784 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9785 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009786 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009787 <span class="entry_type_container">x</span>
9788
9789 <span class="entry_type_array">
9790 n x 6
9791 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009792 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009793 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9794
9795
9796 </td> <!-- entry_type -->
9797
9798 <td class="entry_description">
9799 List of landmarks for detected
9800 faces
9801 </td>
9802
9803 <td class="entry_units">
9804 </td>
9805
9806 <td class="entry_range">
9807 </td>
9808
9809 <td class="entry_notes">
9810 Only available if faceDetectMode == FULL
9811 </td>
9812
9813 <td class="entry_tags">
9814 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009815 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009816 </ul>
9817 </td>
9818
9819 </tr> <!-- end of entry -->
9820
9821
9822 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9823 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009825 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009826 <span class="entry_type_container">x</span>
9827
9828 <span class="entry_type_array">
9829 n x 4
9830 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009831 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009832 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9833
9834
9835 </td> <!-- entry_type -->
9836
9837 <td class="entry_description">
9838 List of the bounding rectangles for detected
9839 faces
9840 </td>
9841
9842 <td class="entry_units">
9843 </td>
9844
9845 <td class="entry_range">
9846 </td>
9847
9848 <td class="entry_notes">
9849 Only available if faceDetectMode != OFF
9850 </td>
9851
9852 <td class="entry_tags">
9853 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009854 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009855 </ul>
9856 </td>
9857
9858 </tr> <!-- end of entry -->
9859
9860
9861 <tr class="entry" id="dynamic_android.statistics.faceScores">
9862 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9863 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009864 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009865 <span class="entry_type_container">x</span>
9866
9867 <span class="entry_type_array">
9868 n
9869 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009870 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009871
9872
9873 </td> <!-- entry_type -->
9874
9875 <td class="entry_description">
9876 List of the face confidence scores for
9877 detected faces
9878 </td>
9879
9880 <td class="entry_units">
9881 </td>
9882
9883 <td class="entry_range">
9884 0-100
9885 </td>
9886
9887 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009888 Only available if faceDetectMode != OFF.<wbr> The value should be
9889 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890 </td>
9891
9892 <td class="entry_tags">
9893 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009894 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009895 </ul>
9896 </td>
9897
9898 </tr> <!-- end of entry -->
9899
9900
9901 <tr class="entry" id="dynamic_android.statistics.histogram">
9902 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9903 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009904 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009905 <span class="entry_type_container">x</span>
9906
9907 <span class="entry_type_array">
9908 n x 3
9909 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009910 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009911 <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>
9912
9913
9914 </td> <!-- entry_type -->
9915
9916 <td class="entry_description">
9917 A 3-channel histogram based on the raw
9918 sensor data
9919 </td>
9920
9921 <td class="entry_units">
9922 </td>
9923
9924 <td class="entry_range">
9925 </td>
9926
9927 <td class="entry_notes">
9928 The k'th bucket (0-based) covers the input range
9929 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9930 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9931 supported,<wbr> all channels should have the same data
9932 </td>
9933
9934 <td class="entry_tags">
9935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009936 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009937 </ul>
9938 </td>
9939
9940 </tr> <!-- end of entry -->
9941
9942
9943 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9944 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009946 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009947
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009948 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009949
9950 <ul class="entry_type_enum">
9951 <li>
9952 <span class="entry_type_enum_name">OFF</span>
9953 </li>
9954 <li>
9955 <span class="entry_type_enum_name">ON</span>
9956 </li>
9957 </ul>
9958
9959 </td> <!-- entry_type -->
9960
9961 <td class="entry_description">
9962 Operating mode for histogram
9963 generation
9964 </td>
9965
9966 <td class="entry_units">
9967 </td>
9968
9969 <td class="entry_range">
9970 </td>
9971
9972 <td class="entry_notes">
9973 </td>
9974
9975 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009976 <ul class="entry_tags">
9977 <li><a href="#tag_V1">V1</a></li>
9978 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009979 </td>
9980
9981 </tr> <!-- end of entry -->
9982
9983
9984 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9985 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009987 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009988 <span class="entry_type_container">x</span>
9989
9990 <span class="entry_type_array">
9991 n x m x 3
9992 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009993 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009994 <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>
9995
9996
9997 </td> <!-- entry_type -->
9998
9999 <td class="entry_description">
10000 A 3-channel sharpness map,<wbr> based on the raw
10001 sensor data
10002 </td>
10003
10004 <td class="entry_units">
10005 </td>
10006
10007 <td class="entry_range">
10008 </td>
10009
10010 <td class="entry_notes">
10011 If only a monochrome sharpness map is supported,<wbr>
10012 all channels should have the same data
10013 </td>
10014
10015 <td class="entry_tags">
10016 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010017 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010018 </ul>
10019 </td>
10020
10021 </tr> <!-- end of entry -->
10022
10023
10024 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10025 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10026 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010027 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010028
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010029 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010030
10031 <ul class="entry_type_enum">
10032 <li>
10033 <span class="entry_type_enum_name">OFF</span>
10034 </li>
10035 <li>
10036 <span class="entry_type_enum_name">ON</span>
10037 </li>
10038 </ul>
10039
10040 </td> <!-- entry_type -->
10041
10042 <td class="entry_description">
10043 Operating mode for sharpness map
10044 generation
10045 </td>
10046
10047 <td class="entry_units">
10048 </td>
10049
10050 <td class="entry_range">
10051 </td>
10052
10053 <td class="entry_notes">
10054 </td>
10055
10056 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010057 <ul class="entry_tags">
10058 <li><a href="#tag_V1">V1</a></li>
10059 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010060 </td>
10061
10062 </tr> <!-- end of entry -->
10063
Zhijun He69fc0ea2013-07-17 09:42:58 -070010064
10065 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10066 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10067 <td class="entry_type">
10068 <span class="entry_type_name">float</span>
10069 <span class="entry_type_container">x</span>
10070
10071 <span class="entry_type_array">
10072 4 x n x m
10073 </span>
10074 <span class="entry_type_visibility"> [public]</span>
10075 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10076
10077
10078 </td> <!-- entry_type -->
10079
10080 <td class="entry_description">
10081 A low-resolution map of lens shading,<wbr> per
10082 color channel
10083 </td>
10084
10085 <td class="entry_units">
10086 </td>
10087
10088 <td class="entry_range">
10089 Each gain factor is >= 1
10090 </td>
10091
10092 <td class="entry_notes">
10093 Assume bilinear interpolation of map.<wbr> The least
10094 shaded section of the image should have a gain factor
10095 of 1; all other sections should have gains above 1.<wbr>
10096 the map should be on the order of 30-40 rows,<wbr> and
10097 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010098<br>
10099<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10100 must take into account the colorCorrection settings.<wbr>
10101
Zhijun He69fc0ea2013-07-17 09:42:58 -070010102 </td>
10103
10104 <td class="entry_tags">
10105 </td>
10106
10107 </tr> <!-- end of entry -->
10108
10109
10110 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10111 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10112 <td class="entry_type">
10113 <span class="entry_type_name">float</span>
10114 <span class="entry_type_container">x</span>
10115
10116 <span class="entry_type_array">
10117 4
10118 </span>
10119 <span class="entry_type_visibility"> [public]</span>
10120 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10121
10122
10123 </td> <!-- entry_type -->
10124
10125 <td class="entry_description">
10126 The best-fit color channel gains calculated
10127 by the HAL's statistics units for the current output frame
10128
10129 </td>
10130
10131 <td class="entry_units">
10132 </td>
10133
10134 <td class="entry_range">
10135 </td>
10136
10137 <td class="entry_notes">
10138
10139 This may be different than the gains used for this frame,<wbr>
10140 since statistics processing on data from a new frame
10141 typically completes after the transform has already been
10142 applied to that frame.<wbr>
10143<br>
10144<br> The 4 channel gains are defined in Bayer domain,<wbr>
10145 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010146<br>
10147<br> This value should always be calculated by the AWB block,<wbr>
10148 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10149
Zhijun He69fc0ea2013-07-17 09:42:58 -070010150 </td>
10151
10152 <td class="entry_tags">
10153 </td>
10154
10155 </tr> <!-- end of entry -->
10156
10157
10158 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10159 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10160 <td class="entry_type">
10161 <span class="entry_type_name">rational</span>
10162 <span class="entry_type_container">x</span>
10163
10164 <span class="entry_type_array">
10165 3 x 3
10166 </span>
10167 <span class="entry_type_visibility"> [public]</span>
10168 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10169
10170
10171 </td> <!-- entry_type -->
10172
10173 <td class="entry_description">
10174 The best-fit color transform matrix estimate
10175 calculated by the HAL's statistics units for the current
10176 output frame
10177 </td>
10178
10179 <td class="entry_units">
10180 </td>
10181
10182 <td class="entry_range">
10183 </td>
10184
10185 <td class="entry_notes">
10186 The HAL must provide the estimate from its
10187 statistics unit on the white balance transforms to use
10188 for the next frame.<wbr> These are the values the HAL believes
10189 are the best fit for the current output frame.<wbr> This may
10190 be different than the transform used for this frame,<wbr> since
10191 statistics processing on data from a new frame typically
10192 completes after the transform has already been applied to
10193 that frame.<wbr>
10194<br>
10195<br> These estimates must be provided for all frames,<wbr> even if
10196 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010197<br>
10198<br> This value should always be calculated by the AWB block,<wbr>
10199 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010200
10201 </td>
10202
10203 <td class="entry_tags">
10204 </td>
10205
10206 </tr> <!-- end of entry -->
10207
10208
10209 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10210 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10211 <td class="entry_type">
10212 <span class="entry_type_name entry_type_name_enum">byte</span>
10213
10214 <span class="entry_type_visibility"> [public]</span>
10215
10216 <ul class="entry_type_enum">
10217 <li>
10218 <span class="entry_type_enum_name">NONE</span>
10219 </li>
10220 <li>
10221 <span class="entry_type_enum_name">50HZ</span>
10222 </li>
10223 <li>
10224 <span class="entry_type_enum_name">60HZ</span>
10225 </li>
10226 </ul>
10227
10228 </td> <!-- entry_type -->
10229
10230 <td class="entry_description">
10231 The HAL estimated scene illumination lighting
10232 frequency
10233 </td>
10234
10235 <td class="entry_units">
10236 </td>
10237
10238 <td class="entry_range">
10239 </td>
10240
10241 <td class="entry_notes">
10242 Report NONE if there doesn't appear to be flickering
10243 illumination
10244 </td>
10245
10246 <td class="entry_tags">
10247 </td>
10248
10249 </tr> <!-- end of entry -->
10250
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010251
10252
10253 <!-- end of kind -->
10254 </tbody>
10255
10256 <!-- end of section -->
10257 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10258
10259
10260 <tr><td colspan="7" class="kind">controls</td></tr>
10261
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010262 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010263 <tr>
10264 <th class="th_name">Property Name</th>
10265 <th class="th_type">Type</th>
10266 <th class="th_description">Description</th>
10267 <th class="th_units">Units</th>
10268 <th class="th_range">Range</th>
10269 <th class="th_notes">Notes</th>
10270 <th class="th_tags">Tags</th>
10271 </tr>
10272 </thead>
10273
10274 <tbody>
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285 <tr class="entry" id="controls_android.tonemap.curveBlue">
10286 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10287 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010288 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010289 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010290
Zhijun He704d1282013-08-19 15:26:33 -070010291 <span class="entry_type_array">
10292 n x 2
10293 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010294 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010295 <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 -080010296
10297
10298 </td> <!-- entry_type -->
10299
10300 <td class="entry_description">
10301 Table mapping blue input values to output
10302 values
10303 </td>
10304
10305 <td class="entry_units">
10306 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10307 </td>
10308
10309 <td class="entry_range">
10310 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10311 </td>
10312
10313 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010314 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10315 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10316<br>
10317<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010318 </td>
10319
10320 <td class="entry_tags">
10321 </td>
10322
10323 </tr> <!-- end of entry -->
10324
10325
10326 <tr class="entry" id="controls_android.tonemap.curveGreen">
10327 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10328 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010329 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010330 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010331
Zhijun He704d1282013-08-19 15:26:33 -070010332 <span class="entry_type_array">
10333 n x 2
10334 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010335 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010336 <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 -080010337
10338
10339 </td> <!-- entry_type -->
10340
10341 <td class="entry_description">
10342 Table mapping green input values to output
10343 values
10344 </td>
10345
10346 <td class="entry_units">
10347 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10348 </td>
10349
10350 <td class="entry_range">
10351 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10352 </td>
10353
10354 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010355 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10356 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10357<br>
10358<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010359 </td>
10360
10361 <td class="entry_tags">
10362 </td>
10363
10364 </tr> <!-- end of entry -->
10365
10366
10367 <tr class="entry" id="controls_android.tonemap.curveRed">
10368 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10369 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010370 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010371 <span class="entry_type_container">x</span>
10372
10373 <span class="entry_type_array">
10374 n x 2
10375 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010376 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010377 <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 -080010378
10379
10380 </td> <!-- entry_type -->
10381
10382 <td class="entry_description">
10383 Table mapping red input values to output
10384 values
10385 </td>
10386
10387 <td class="entry_units">
10388 </td>
10389
10390 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010391 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010392 </td>
10393
10394 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010395 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10396 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10397<br>
10398<br> Since the input and output ranges may vary depending on
10399 the camera pipeline,<wbr> the input and output pixel values
10400 are represented by normalized floating-point values
10401 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10402<br>
10403<br> The curve should be linearly interpolated between the
10404 defined points.<wbr> The points will be listed in increasing
10405 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 -080010406 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10407 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10408 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10409 </td>
10410
10411 <td class="entry_tags">
10412 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010413 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010414 </ul>
10415 </td>
10416
10417 </tr> <!-- end of entry -->
10418
10419
10420 <tr class="entry" id="controls_android.tonemap.mode">
10421 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10422 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010423 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010424
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010425 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010426
10427 <ul class="entry_type_enum">
10428 <li>
10429 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10430 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10431 android.<wbr>tonemap.<wbr>curve</span>
10432 </li>
10433 <li>
10434 <span class="entry_type_enum_name">FAST</span>
10435 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10436 bayer output</span>
10437 </li>
10438 <li>
10439 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10440 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10441 quality</span>
10442 </li>
10443 </ul>
10444
10445 </td> <!-- entry_type -->
10446
10447 <td class="entry_description">
10448 </td>
10449
10450 <td class="entry_units">
10451 </td>
10452
10453 <td class="entry_range">
10454 </td>
10455
10456 <td class="entry_notes">
10457 </td>
10458
10459 <td class="entry_tags">
10460 </td>
10461
10462 </tr> <!-- end of entry -->
10463
10464
10465
10466 <!-- end of kind -->
10467 </tbody>
10468 <tr><td colspan="7" class="kind">static</td></tr>
10469
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010470 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010471 <tr>
10472 <th class="th_name">Property Name</th>
10473 <th class="th_type">Type</th>
10474 <th class="th_description">Description</th>
10475 <th class="th_units">Units</th>
10476 <th class="th_range">Range</th>
10477 <th class="th_notes">Notes</th>
10478 <th class="th_tags">Tags</th>
10479 </tr>
10480 </thead>
10481
10482 <tbody>
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10494 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010496 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010497
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010498 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010499
10500
10501 </td> <!-- entry_type -->
10502
10503 <td class="entry_description">
10504 Maximum number of supported points in the
10505 tonemap curve
10506 </td>
10507
10508 <td class="entry_units">
10509 </td>
10510
10511 <td class="entry_range">
10512 >= 128
10513 </td>
10514
10515 <td class="entry_notes">
10516 </td>
10517
10518 <td class="entry_tags">
10519 </td>
10520
10521 </tr> <!-- end of entry -->
10522
10523
10524
10525 <!-- end of kind -->
10526 </tbody>
10527 <tr><td colspan="7" class="kind">dynamic</td></tr>
10528
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010529 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010530 <tr>
10531 <th class="th_name">Property Name</th>
10532 <th class="th_type">Type</th>
10533 <th class="th_description">Description</th>
10534 <th class="th_units">Units</th>
10535 <th class="th_range">Range</th>
10536 <th class="th_notes">Notes</th>
10537 <th class="th_tags">Tags</th>
10538 </tr>
10539 </thead>
10540
10541 <tbody>
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10553 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10554 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010555 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010556 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010557
Zhijun He704d1282013-08-19 15:26:33 -070010558 <span class="entry_type_array">
10559 n x 2
10560 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010561 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010562 <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 -080010563
10564
10565 </td> <!-- entry_type -->
10566
10567 <td class="entry_description">
10568 Table mapping blue input values to output
10569 values
10570 </td>
10571
10572 <td class="entry_units">
10573 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10574 </td>
10575
10576 <td class="entry_range">
10577 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10578 </td>
10579
10580 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010581 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10582 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10583<br>
10584<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010585 </td>
10586
10587 <td class="entry_tags">
10588 </td>
10589
10590 </tr> <!-- end of entry -->
10591
10592
10593 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10594 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10595 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010596 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010597 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010598
Zhijun He704d1282013-08-19 15:26:33 -070010599 <span class="entry_type_array">
10600 n x 2
10601 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010602 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010603 <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 -080010604
10605
10606 </td> <!-- entry_type -->
10607
10608 <td class="entry_description">
10609 Table mapping green input values to output
10610 values
10611 </td>
10612
10613 <td class="entry_units">
10614 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10615 </td>
10616
10617 <td class="entry_range">
10618 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10619 </td>
10620
10621 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010622 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10623 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10624<br>
10625<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010626 </td>
10627
10628 <td class="entry_tags">
10629 </td>
10630
10631 </tr> <!-- end of entry -->
10632
10633
10634 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10635 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10636 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010637 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010638 <span class="entry_type_container">x</span>
10639
10640 <span class="entry_type_array">
10641 n x 2
10642 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010643 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010644 <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 -080010645
10646
10647 </td> <!-- entry_type -->
10648
10649 <td class="entry_description">
10650 Table mapping red input values to output
10651 values
10652 </td>
10653
10654 <td class="entry_units">
10655 </td>
10656
10657 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010658 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010659 </td>
10660
10661 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010662 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10663 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10664<br>
10665<br> Since the input and output ranges may vary depending on
10666 the camera pipeline,<wbr> the input and output pixel values
10667 are represented by normalized floating-point values
10668 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10669<br>
10670<br> The curve should be linearly interpolated between the
10671 defined points.<wbr> The points will be listed in increasing
10672 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 -080010673 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10674 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10675 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10676 </td>
10677
10678 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010679 <ul class="entry_tags">
10680 <li><a href="#tag_DNG">DNG</a></li>
10681 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010682 </td>
10683
10684 </tr> <!-- end of entry -->
10685
10686
10687 <tr class="entry" id="dynamic_android.tonemap.mode">
10688 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10689 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010690 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010691
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010692 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010693
10694 <ul class="entry_type_enum">
10695 <li>
10696 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10697 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10698 android.<wbr>tonemap.<wbr>curve</span>
10699 </li>
10700 <li>
10701 <span class="entry_type_enum_name">FAST</span>
10702 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10703 bayer output</span>
10704 </li>
10705 <li>
10706 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10707 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10708 quality</span>
10709 </li>
10710 </ul>
10711
10712 </td> <!-- entry_type -->
10713
10714 <td class="entry_description">
10715 </td>
10716
10717 <td class="entry_units">
10718 </td>
10719
10720 <td class="entry_range">
10721 </td>
10722
10723 <td class="entry_notes">
10724 </td>
10725
10726 <td class="entry_tags">
10727 </td>
10728
10729 </tr> <!-- end of entry -->
10730
10731
10732
10733 <!-- end of kind -->
10734 </tbody>
10735
10736 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010737 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10738
10739
10740 <tr><td colspan="7" class="kind">controls</td></tr>
10741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010742 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010743 <tr>
10744 <th class="th_name">Property Name</th>
10745 <th class="th_type">Type</th>
10746 <th class="th_description">Description</th>
10747 <th class="th_units">Units</th>
10748 <th class="th_range">Range</th>
10749 <th class="th_notes">Notes</th>
10750 <th class="th_tags">Tags</th>
10751 </tr>
10752 </thead>
10753
10754 <tbody>
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765 <tr class="entry" id="controls_android.led.transmit">
10766 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10767 <td class="entry_type">
10768 <span class="entry_type_name entry_type_name_enum">byte</span>
10769
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010770 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010771
10772 <ul class="entry_type_enum">
10773 <li>
10774 <span class="entry_type_enum_name">OFF</span>
10775 </li>
10776 <li>
10777 <span class="entry_type_enum_name">ON</span>
10778 </li>
10779 </ul>
10780
10781 </td> <!-- entry_type -->
10782
10783 <td class="entry_description">
10784 This LED is nominally used to indicate to the user
10785 that the camera is powered on and may be streaming images back to the
10786 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10787 disable this when video is processed locally and not transmitted to
10788 any untrusted applications.<wbr>
10789<br>
10790<br> In particular,<wbr> the LED *must* always be on when the data could be
10791 transmitted off the device.<wbr> The LED *should* always be on whenever
10792 data is stored locally on the device.<wbr>
10793<br>
10794<br> The LED *may* be off if a trusted application is using the data that
10795 doesn't violate the above rules.<wbr>
10796
10797 </td>
10798
10799 <td class="entry_units">
10800 </td>
10801
10802 <td class="entry_range">
10803 </td>
10804
10805 <td class="entry_notes">
10806 </td>
10807
10808 <td class="entry_tags">
10809 </td>
10810
10811 </tr> <!-- end of entry -->
10812
10813
10814
10815 <!-- end of kind -->
10816 </tbody>
10817 <tr><td colspan="7" class="kind">dynamic</td></tr>
10818
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010819 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010820 <tr>
10821 <th class="th_name">Property Name</th>
10822 <th class="th_type">Type</th>
10823 <th class="th_description">Description</th>
10824 <th class="th_units">Units</th>
10825 <th class="th_range">Range</th>
10826 <th class="th_notes">Notes</th>
10827 <th class="th_tags">Tags</th>
10828 </tr>
10829 </thead>
10830
10831 <tbody>
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842 <tr class="entry" id="dynamic_android.led.transmit">
10843 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10844 <td class="entry_type">
10845 <span class="entry_type_name entry_type_name_enum">byte</span>
10846
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010847 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010848
10849 <ul class="entry_type_enum">
10850 <li>
10851 <span class="entry_type_enum_name">OFF</span>
10852 </li>
10853 <li>
10854 <span class="entry_type_enum_name">ON</span>
10855 </li>
10856 </ul>
10857
10858 </td> <!-- entry_type -->
10859
10860 <td class="entry_description">
10861 This LED is nominally used to indicate to the user
10862 that the camera is powered on and may be streaming images back to the
10863 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10864 disable this when video is processed locally and not transmitted to
10865 any untrusted applications.<wbr>
10866<br>
10867<br> In particular,<wbr> the LED *must* always be on when the data could be
10868 transmitted off the device.<wbr> The LED *should* always be on whenever
10869 data is stored locally on the device.<wbr>
10870<br>
10871<br> The LED *may* be off if a trusted application is using the data that
10872 doesn't violate the above rules.<wbr>
10873
10874 </td>
10875
10876 <td class="entry_units">
10877 </td>
10878
10879 <td class="entry_range">
10880 </td>
10881
10882 <td class="entry_notes">
10883 </td>
10884
10885 <td class="entry_tags">
10886 </td>
10887
10888 </tr> <!-- end of entry -->
10889
10890
10891
10892 <!-- end of kind -->
10893 </tbody>
10894 <tr><td colspan="7" class="kind">static</td></tr>
10895
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010896 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010897 <tr>
10898 <th class="th_name">Property Name</th>
10899 <th class="th_type">Type</th>
10900 <th class="th_description">Description</th>
10901 <th class="th_units">Units</th>
10902 <th class="th_range">Range</th>
10903 <th class="th_notes">Notes</th>
10904 <th class="th_tags">Tags</th>
10905 </tr>
10906 </thead>
10907
10908 <tbody>
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919 <tr class="entry" id="static_android.led.availableLeds">
10920 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10921 <td class="entry_type">
10922 <span class="entry_type_name entry_type_name_enum">byte</span>
10923 <span class="entry_type_container">x</span>
10924
10925 <span class="entry_type_array">
10926 n
10927 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010928 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010929
10930 <ul class="entry_type_enum">
10931 <li>
10932 <span class="entry_type_enum_name">TRANSMIT</span>
10933 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10934 </li>
10935 </ul>
10936
10937 </td> <!-- entry_type -->
10938
10939 <td class="entry_description">
10940 A list of camera LEDs that are available on this system.<wbr>
10941
10942 </td>
10943
10944 <td class="entry_units">
10945 </td>
10946
10947 <td class="entry_range">
10948 </td>
10949
10950 <td class="entry_notes">
10951 </td>
10952
10953 <td class="entry_tags">
10954 </td>
10955
10956 </tr> <!-- end of entry -->
10957
10958
10959
10960 <!-- end of kind -->
10961 </tbody>
10962
10963 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010964 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10965
10966
10967 <tr><td colspan="7" class="kind">static</td></tr>
10968
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010969 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010970 <tr>
10971 <th class="th_name">Property Name</th>
10972 <th class="th_type">Type</th>
10973 <th class="th_description">Description</th>
10974 <th class="th_units">Units</th>
10975 <th class="th_range">Range</th>
10976 <th class="th_notes">Notes</th>
10977 <th class="th_tags">Tags</th>
10978 </tr>
10979 </thead>
10980
10981 <tbody>
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10993 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10994 <td class="entry_type">
10995 <span class="entry_type_name entry_type_name_enum">byte</span>
10996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010997 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010998
10999 <ul class="entry_type_enum">
11000 <li>
11001 <span class="entry_type_enum_name">LIMITED</span>
11002 </li>
11003 <li>
11004 <span class="entry_type_enum_name">FULL</span>
11005 </li>
11006 </ul>
11007
11008 </td> <!-- entry_type -->
11009
11010 <td class="entry_description">
11011
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011012 The camera 3 HAL device can implement one of two possible
11013 operational modes; limited and full.<wbr> Full support is
11014 expected from new higher-end devices.<wbr> Limited mode has
11015 hardware requirements roughly in line with those for a
11016 camera HAL device v1 implementation,<wbr> and is expected from
11017 older or inexpensive devices.<wbr> Full is a strict superset of
11018 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011019<br>
11020<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11021
11022 </td>
11023
11024 <td class="entry_units">
11025 </td>
11026
11027 <td class="entry_range">
11028 Optional.<wbr> Default value is LIMITED.<wbr>
11029 </td>
11030
11031 <td class="entry_notes">
11032 </td>
11033
11034 <td class="entry_tags">
11035 </td>
11036
11037 </tr> <!-- end of entry -->
11038
11039
11040
11041 <!-- end of kind -->
11042 </tbody>
11043
11044 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011045 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11046
11047
11048 <tr><td colspan="7" class="kind">controls</td></tr>
11049
11050 <thead class="entries_header">
11051 <tr>
11052 <th class="th_name">Property Name</th>
11053 <th class="th_type">Type</th>
11054 <th class="th_description">Description</th>
11055 <th class="th_units">Units</th>
11056 <th class="th_range">Range</th>
11057 <th class="th_notes">Notes</th>
11058 <th class="th_tags">Tags</th>
11059 </tr>
11060 </thead>
11061
11062 <tbody>
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073 <tr class="entry" id="controls_android.blackLevel.lock">
11074 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11075 <td class="entry_type">
11076 <span class="entry_type_name entry_type_name_enum">byte</span>
11077
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011078 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011079
11080 <ul class="entry_type_enum">
11081 <li>
11082 <span class="entry_type_enum_name">OFF</span>
11083 </li>
11084 <li>
11085 <span class="entry_type_enum_name">ON</span>
11086 </li>
11087 </ul>
11088
11089 </td> <!-- entry_type -->
11090
11091 <td class="entry_description">
11092 Whether black-level compensation is locked
11093 to its current values,<wbr> or is free to vary
11094 </td>
11095
11096 <td class="entry_units">
11097 </td>
11098
11099 <td class="entry_range">
11100 </td>
11101
11102 <td class="entry_notes">
11103 When set to ON,<wbr> the values used for black-level
11104 compensation must not change until the lock is set to
11105 OFF
11106<br>
11107<br> Since changes to certain capture parameters (such as
11108 exposure time) may require resetting of black level
11109 compensation,<wbr> the HAL must report whether setting the
11110 black level lock was successful in the output result
11111 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011112<br>
11113<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11114 If for some reason black level locking is no longer legal (for example,<wbr>
11115 the analog gain has changed,<wbr> which forces black levels to be
11116 recalculated),<wbr> then the HAL is free to override this request (and it
11117 must report 'OFF' when this does happen) until the next time locking
11118 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011119 </td>
11120
11121 <td class="entry_tags">
11122 <ul class="entry_tags">
11123 <li><a href="#tag_HAL2">HAL2</a></li>
11124 </ul>
11125 </td>
11126
11127 </tr> <!-- end of entry -->
11128
11129
11130
11131 <!-- end of kind -->
11132 </tbody>
11133 <tr><td colspan="7" class="kind">dynamic</td></tr>
11134
11135 <thead class="entries_header">
11136 <tr>
11137 <th class="th_name">Property Name</th>
11138 <th class="th_type">Type</th>
11139 <th class="th_description">Description</th>
11140 <th class="th_units">Units</th>
11141 <th class="th_range">Range</th>
11142 <th class="th_notes">Notes</th>
11143 <th class="th_tags">Tags</th>
11144 </tr>
11145 </thead>
11146
11147 <tbody>
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158 <tr class="entry" id="dynamic_android.blackLevel.lock">
11159 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11160 <td class="entry_type">
11161 <span class="entry_type_name entry_type_name_enum">byte</span>
11162
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011163 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011164
11165 <ul class="entry_type_enum">
11166 <li>
11167 <span class="entry_type_enum_name">OFF</span>
11168 </li>
11169 <li>
11170 <span class="entry_type_enum_name">ON</span>
11171 </li>
11172 </ul>
11173
11174 </td> <!-- entry_type -->
11175
11176 <td class="entry_description">
11177 Whether black-level compensation is locked
11178 to its current values,<wbr> or is free to vary
11179 </td>
11180
11181 <td class="entry_units">
11182 </td>
11183
11184 <td class="entry_range">
11185 </td>
11186
11187 <td class="entry_notes">
11188 When set to ON,<wbr> the values used for black-level
11189 compensation must not change until the lock is set to
11190 OFF
11191<br>
11192<br> Since changes to certain capture parameters (such as
11193 exposure time) may require resetting of black level
11194 compensation,<wbr> the HAL must report whether setting the
11195 black level lock was successful in the output result
11196 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011197<br>
11198<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11199 If for some reason black level locking is no longer legal (for example,<wbr>
11200 the analog gain has changed,<wbr> which forces black levels to be
11201 recalculated),<wbr> then the HAL is free to override this request (and it
11202 must report 'OFF' when this does happen) until the next time locking
11203 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011204 </td>
11205
11206 <td class="entry_tags">
11207 <ul class="entry_tags">
11208 <li><a href="#tag_HAL2">HAL2</a></li>
11209 </ul>
11210 </td>
11211
11212 </tr> <!-- end of entry -->
11213
11214
11215
11216 <!-- end of kind -->
11217 </tbody>
11218
11219 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011220<!-- </namespace> -->
11221 </table>
11222
11223 <div class="tags" id="tag_index">
11224 <h2>Tags</h2>
11225 <ul>
11226 <li id="tag_AWB">AWB -
11227 Needed for auto white balance
11228
11229 <ul class="tags_entries">
11230 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11231 </ul>
11232 </li> <!-- tag_AWB -->
11233 <li id="tag_BC">BC -
11234 Needed for backwards compatibility with old Java API
11235
11236 <ul class="tags_entries">
11237 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11238 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11239 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11240 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11241 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011242 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011243 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11244 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011245 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011246 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11247 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11248 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11249 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11250 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11251 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11252 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11253 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11254 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11255 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11256 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11257 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11258 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11259 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11260 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11261 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11262 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11263 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11264 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11265 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11266 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11267 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11268 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11269 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11270 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11271 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11272 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11273 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11274 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11275 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11276 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11277 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11278 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11279 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11280 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11281 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011282 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011283 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11284 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11285 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011286 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011287 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011288 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11289 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11290 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11291 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11292 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11293 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11294 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11295 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11296 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11297 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11298 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11299 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11300 </ul>
11301 </li> <!-- tag_BC -->
11302 <li id="tag_V1">V1 -
11303 New features for first camera 2 release (API1)
11304
11305 <ul class="tags_entries">
11306 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11307 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11308 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11309 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11310 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11311 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11312 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11313 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11314 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11315 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11316 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11317 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11318 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11319 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11320 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11321 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11322 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11323 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11324 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11325 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11326 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11327 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11328 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11329 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011330 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011331 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11332 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11333 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11334 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11335 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11336 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11337 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11338 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11339 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11340 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11341 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11342 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11343 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11344 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11345 </ul>
11346 </li> <!-- tag_V1 -->
11347 <li id="tag_ADV">ADV - None
11348 <ul class="tags_entries">
11349 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11350 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11351 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11352 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11353 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11354 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11355 </ul>
11356 </li> <!-- tag_ADV -->
11357 <li id="tag_DNG">DNG -
11358 Needed for DNG file support
11359
11360 <ul class="tags_entries">
11361 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011362 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11363 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11364 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11365 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11366 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11367 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11368 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11369 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11370 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11371 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11372 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11373 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11374 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11375 </ul>
11376 </li> <!-- tag_DNG -->
11377 <li id="tag_EXIF">EXIF - None
11378 <ul class="tags_entries">
11379 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11380 </ul>
11381 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011382 <li id="tag_HAL2">HAL2 -
11383 Tag only used by camera device HAL 2.x
11384
11385 <ul class="tags_entries">
11386 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11387 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11388 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011389 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011390 </ul>
11391 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011392 </ul>
11393 </div>
11394
11395 [ <a href="#">top</a> ]
11396
11397</body>
11398</html>