blob: 00bbb4b8bd96377719d9875cbdb2ef3ce304f98c [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>
Alex Rayef40ad62013-10-01 17:52:33 -07008250 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008251 </ul>
8252 </td>
8253
8254 </tr> <!-- end of entry -->
8255
8256
8257 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8258 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8259 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008260 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008261 <span class="entry_type_container">x</span>
8262
8263 <span class="entry_type_array">
8264 4
8265 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008266 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008267 <div class="entry_type_notes">2x2 raw count block</div>
8268
8269
8270 </td> <!-- entry_type -->
8271
8272 <td class="entry_description">
8273 A fixed black level offset for each of the
8274 Bayer mosaic channels
8275 </td>
8276
8277 <td class="entry_units">
8278 </td>
8279
8280 <td class="entry_range">
8281 >= 0 each
8282 </td>
8283
8284 <td class="entry_notes">
8285 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8286 tags
8287 </td>
8288
8289 <td class="entry_tags">
8290 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008291 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008292 </ul>
8293 </td>
8294
8295 </tr> <!-- end of entry -->
8296
8297
8298 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8299 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8300 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008301 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008302 <span class="entry_type_container">x</span>
8303
8304 <span class="entry_type_array">
8305 9
8306 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008307 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008308 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8309
8310
8311 </td> <!-- entry_type -->
8312
8313 <td class="entry_description">
8314 Per-device calibration on top of color space
8315 transform 1
8316 </td>
8317
8318 <td class="entry_units">
8319 </td>
8320
8321 <td class="entry_range">
8322 </td>
8323
8324 <td class="entry_notes">
8325 </td>
8326
8327 <td class="entry_tags">
8328 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008329 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330 </ul>
8331 </td>
8332
8333 </tr> <!-- end of entry -->
8334
8335
8336 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8337 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8338 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008339 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008340 <span class="entry_type_container">x</span>
8341
8342 <span class="entry_type_array">
8343 9
8344 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008345 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008346 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8347
8348
8349 </td> <!-- entry_type -->
8350
8351 <td class="entry_description">
8352 Per-device calibration on top of color space
8353 transform 2
8354 </td>
8355
8356 <td class="entry_units">
8357 </td>
8358
8359 <td class="entry_range">
8360 </td>
8361
8362 <td class="entry_notes">
8363 </td>
8364
8365 <td class="entry_tags">
8366 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008367 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008368 </ul>
8369 </td>
8370
8371 </tr> <!-- end of entry -->
8372
8373
8374 <tr class="entry" id="static_android.sensor.colorTransform1">
8375 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8376 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008377 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008378 <span class="entry_type_container">x</span>
8379
8380 <span class="entry_type_array">
8381 9
8382 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008383 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008384 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8385
8386
8387 </td> <!-- entry_type -->
8388
8389 <td class="entry_description">
8390 Linear mapping from XYZ (D50) color space to
8391 reference linear sensor color,<wbr> for first reference
8392 illuminant
8393 </td>
8394
8395 <td class="entry_units">
8396 </td>
8397
8398 <td class="entry_range">
8399 </td>
8400
8401 <td class="entry_notes">
8402 Use as follows XYZ = inv(transform) * clip( (raw -
8403 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8404 At least in the simple case
8405 </td>
8406
8407 <td class="entry_tags">
8408 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008409 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008410 </ul>
8411 </td>
8412
8413 </tr> <!-- end of entry -->
8414
8415
8416 <tr class="entry" id="static_android.sensor.colorTransform2">
8417 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8418 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008419 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008420 <span class="entry_type_container">x</span>
8421
8422 <span class="entry_type_array">
8423 9
8424 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008425 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008426 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8427
8428
8429 </td> <!-- entry_type -->
8430
8431 <td class="entry_description">
8432 Linear mapping from XYZ (D50) color space to
8433 reference linear sensor color,<wbr> for second reference
8434 illuminant
8435 </td>
8436
8437 <td class="entry_units">
8438 </td>
8439
8440 <td class="entry_range">
8441 </td>
8442
8443 <td class="entry_notes">
8444 </td>
8445
8446 <td class="entry_tags">
8447 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008448 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008449 </ul>
8450 </td>
8451
8452 </tr> <!-- end of entry -->
8453
8454
8455 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8456 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008458 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008459 <span class="entry_type_container">x</span>
8460
8461 <span class="entry_type_array">
8462 9
8463 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008464 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008465 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8466
8467
8468 </td> <!-- entry_type -->
8469
8470 <td class="entry_description">
8471 Used by DNG for better WB
8472 adaptation
8473 </td>
8474
8475 <td class="entry_units">
8476 </td>
8477
8478 <td class="entry_range">
8479 </td>
8480
8481 <td class="entry_notes">
8482 </td>
8483
8484 <td class="entry_tags">
8485 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008486 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008487 </ul>
8488 </td>
8489
8490 </tr> <!-- end of entry -->
8491
8492
8493 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8494 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008496 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008497 <span class="entry_type_container">x</span>
8498
8499 <span class="entry_type_array">
8500 9
8501 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008502 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008503 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8504
8505
8506 </td> <!-- entry_type -->
8507
8508 <td class="entry_description">
8509 Used by DNG for better WB
8510 adaptation
8511 </td>
8512
8513 <td class="entry_units">
8514 </td>
8515
8516 <td class="entry_range">
8517 </td>
8518
8519 <td class="entry_notes">
8520 </td>
8521
8522 <td class="entry_tags">
8523 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008524 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008525 </ul>
8526 </td>
8527
8528 </tr> <!-- end of entry -->
8529
8530
8531 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8532 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8533 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008534 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008535
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008536 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008537
8538
8539 </td> <!-- entry_type -->
8540
8541 <td class="entry_description">
8542 Maximum sensitivity that is implemented
8543 purely through analog gain
8544 </td>
8545
8546 <td class="entry_units">
8547 </td>
8548
8549 <td class="entry_range">
8550 </td>
8551
8552 <td class="entry_notes">
8553 For android.<wbr>sensor.<wbr>sensitivity values less than or
8554 equal to this,<wbr> all applied gain must be analog.<wbr> For
8555 values above this,<wbr> it can be a mix of analog and
8556 digital
8557 </td>
8558
8559 <td class="entry_tags">
8560 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008561 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -07008562 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008563 </ul>
8564 </td>
8565
8566 </tr> <!-- end of entry -->
8567
8568
8569 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8570 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8571 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008572 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008573 <span class="entry_type_container">x</span>
8574
8575 <span class="entry_type_array">
8576 2
8577 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008578 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008579 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8580
8581
8582 </td> <!-- entry_type -->
8583
8584 <td class="entry_description">
8585 Estimation of sensor noise
8586 characteristics
8587 </td>
8588
8589 <td class="entry_units">
8590 var(raw pixel value) = electrons * (baseGainFactor
8591 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8592 B
8593 </td>
8594
8595 <td class="entry_range">
8596 </td>
8597
8598 <td class="entry_notes">
8599 A represents sensor read noise before analog
8600 amplification; B represents noise from A/<wbr>D conversion and
8601 other circuits after amplification.<wbr> Both noise sources
8602 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8603 across the sensor
8604 </td>
8605
8606 <td class="entry_tags">
8607 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008608 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008609 </ul>
8610 </td>
8611
8612 </tr> <!-- end of entry -->
8613
8614
8615 <tr class="entry" id="static_android.sensor.orientation">
8616 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8617 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008618 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008619
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008620 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621
8622
8623 </td> <!-- entry_type -->
8624
8625 <td class="entry_description">
8626 Clockwise angle through which the output
8627 image needs to be rotated to be upright on the device
8628 screen in its native orientation.<wbr> Also defines the
8629 direction of rolling shutter readout,<wbr> which is from top
8630 to bottom in the sensor's coordinate system
8631 </td>
8632
8633 <td class="entry_units">
8634 degrees clockwise rotation,<wbr> only multiples of
8635 90
8636 </td>
8637
8638 <td class="entry_range">
8639 0,<wbr>90,<wbr>180,<wbr>270
8640 </td>
8641
8642 <td class="entry_notes">
8643 </td>
8644
8645 <td class="entry_tags">
8646 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008647 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008648 </ul>
8649 </td>
8650
8651 </tr> <!-- end of entry -->
8652
8653
8654 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8655 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8656 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008657 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008659 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008660
8661 <ul class="entry_type_enum">
8662 <li>
8663 <span class="entry_type_enum_name">DAYLIGHT</span>
8664 <span class="entry_type_enum_value">1</span>
8665 </li>
8666 <li>
8667 <span class="entry_type_enum_name">FLUORESCENT</span>
8668 <span class="entry_type_enum_value">2</span>
8669 </li>
8670 <li>
8671 <span class="entry_type_enum_name">TUNGSTEN</span>
8672 <span class="entry_type_enum_value">3</span>
8673 <span class="entry_type_enum_notes">Incandescent light</span>
8674 </li>
8675 <li>
8676 <span class="entry_type_enum_name">FLASH</span>
8677 <span class="entry_type_enum_value">4</span>
8678 </li>
8679 <li>
8680 <span class="entry_type_enum_name">FINE_WEATHER</span>
8681 <span class="entry_type_enum_value">9</span>
8682 </li>
8683 <li>
8684 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8685 <span class="entry_type_enum_value">10</span>
8686 </li>
8687 <li>
8688 <span class="entry_type_enum_name">SHADE</span>
8689 <span class="entry_type_enum_value">11</span>
8690 </li>
8691 <li>
8692 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8693 <span class="entry_type_enum_value">12</span>
8694 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8695 </li>
8696 <li>
8697 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8698 <span class="entry_type_enum_value">13</span>
8699 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8700 </li>
8701 <li>
8702 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8703 <span class="entry_type_enum_value">14</span>
8704 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8705 </li>
8706 <li>
8707 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8708 <span class="entry_type_enum_value">15</span>
8709 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8710 </li>
8711 <li>
8712 <span class="entry_type_enum_name">STANDARD_A</span>
8713 <span class="entry_type_enum_value">17</span>
8714 </li>
8715 <li>
8716 <span class="entry_type_enum_name">STANDARD_B</span>
8717 <span class="entry_type_enum_value">18</span>
8718 </li>
8719 <li>
8720 <span class="entry_type_enum_name">STANDARD_C</span>
8721 <span class="entry_type_enum_value">19</span>
8722 </li>
8723 <li>
8724 <span class="entry_type_enum_name">D55</span>
8725 <span class="entry_type_enum_value">20</span>
8726 </li>
8727 <li>
8728 <span class="entry_type_enum_name">D65</span>
8729 <span class="entry_type_enum_value">21</span>
8730 </li>
8731 <li>
8732 <span class="entry_type_enum_name">D75</span>
8733 <span class="entry_type_enum_value">22</span>
8734 </li>
8735 <li>
8736 <span class="entry_type_enum_name">D50</span>
8737 <span class="entry_type_enum_value">23</span>
8738 </li>
8739 <li>
8740 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8741 <span class="entry_type_enum_value">24</span>
8742 </li>
8743 </ul>
8744
8745 </td> <!-- entry_type -->
8746
8747 <td class="entry_description">
8748 Light source used to define transform
8749 1
8750 </td>
8751
8752 <td class="entry_units">
8753 </td>
8754
8755 <td class="entry_range">
8756 </td>
8757
8758 <td class="entry_notes">
8759 [EXIF LightSource tag] Must all these be
8760 supported? Need CCT for each!
8761 </td>
8762
8763 <td class="entry_tags">
8764 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008765 <li><a href="#tag_DNG">DNG</a></li>
8766 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008767 </ul>
8768 </td>
8769
8770 </tr> <!-- end of entry -->
8771
8772
8773 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8774 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8775 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008776 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008777
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008778 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008779
8780
8781 </td> <!-- entry_type -->
8782
8783 <td class="entry_description">
8784 Light source used to define transform
8785 2
8786 </td>
8787
8788 <td class="entry_units">
8789 Same as illuminant 1
8790 </td>
8791
8792 <td class="entry_range">
8793 </td>
8794
8795 <td class="entry_notes">
8796 </td>
8797
8798 <td class="entry_tags">
8799 </td>
8800
8801 </tr> <!-- end of entry -->
8802
8803
8804
8805 <!-- end of kind -->
8806 </tbody>
8807 <tr><td colspan="7" class="kind">dynamic</td></tr>
8808
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008809 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008810 <tr>
8811 <th class="th_name">Property Name</th>
8812 <th class="th_type">Type</th>
8813 <th class="th_description">Description</th>
8814 <th class="th_units">Units</th>
8815 <th class="th_range">Range</th>
8816 <th class="th_notes">Notes</th>
8817 <th class="th_tags">Tags</th>
8818 </tr>
8819 </thead>
8820
8821 <tbody>
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8833 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8834 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008835 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008836
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008837 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008838
8839
8840 </td> <!-- entry_type -->
8841
8842 <td class="entry_description">
8843 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008844 light.<wbr>
8845<br>
8846<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8847 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8848
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008849 </td>
8850
8851 <td class="entry_units">
8852 nanoseconds
8853 </td>
8854
8855 <td class="entry_range">
8856 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8857 </td>
8858
8859 <td class="entry_notes">
8860 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8861 </td>
8862
8863 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008864 <ul class="entry_tags">
8865 <li><a href="#tag_V1">V1</a></li>
8866 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008867 </td>
8868
8869 </tr> <!-- end of entry -->
8870
8871
8872 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8873 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8874 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008875 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008876
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008877 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008878
8879
8880 </td> <!-- entry_type -->
8881
8882 <td class="entry_description">
8883 Duration from start of frame exposure to
8884 start of next frame exposure
8885 </td>
8886
8887 <td class="entry_units">
8888 nanoseconds
8889 </td>
8890
8891 <td class="entry_range">
8892 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8893 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8894 </td>
8895
8896 <td class="entry_notes">
8897 Exposure time has priority,<wbr> so duration is set to
8898 max(duration,<wbr> exposure time + overhead)
8899 </td>
8900
8901 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008902 <ul class="entry_tags">
8903 <li><a href="#tag_V1">V1</a></li>
8904 <li><a href="#tag_BC">BC</a></li>
8905 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906 </td>
8907
8908 </tr> <!-- end of entry -->
8909
8910
8911 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8912 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008914 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008915
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008917
8918
8919 </td> <!-- entry_type -->
8920
8921 <td class="entry_description">
8922 Gain applied to image data.<wbr> Must be
8923 implemented through analog gain only if set to values
8924 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008925<br>
8926<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8927 gain to the nearest possible value (rather than gain more).<wbr>
8928
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008929 </td>
8930
8931 <td class="entry_units">
8932 ISO arithmetic units
8933 </td>
8934
8935 <td class="entry_range">
8936 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8937 </td>
8938
8939 <td class="entry_notes">
8940 ISO 12232:2006 REI method
8941 </td>
8942
8943 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008944 <ul class="entry_tags">
8945 <li><a href="#tag_V1">V1</a></li>
8946 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008947 </td>
8948
8949 </tr> <!-- end of entry -->
8950
8951
8952 <tr class="entry" id="dynamic_android.sensor.timestamp">
8953 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008955 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008957 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008958
8959
8960 </td> <!-- entry_type -->
8961
8962 <td class="entry_description">
8963 Time at start of exposure of first
8964 row
8965 </td>
8966
8967 <td class="entry_units">
8968 nanoseconds
8969 </td>
8970
8971 <td class="entry_range">
8972 > 0
8973 </td>
8974
8975 <td class="entry_notes">
8976 Monotonic,<wbr> should be synced to other timestamps in
8977 system
8978 </td>
8979
8980 <td class="entry_tags">
8981 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008982 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008983 </ul>
8984 </td>
8985
8986 </tr> <!-- end of entry -->
8987
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008988
8989 <tr class="entry" id="dynamic_android.sensor.temperature">
8990 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8991 <td class="entry_type">
8992 <span class="entry_type_name">float</span>
8993
8994 <span class="entry_type_visibility"> [public]</span>
8995
8996
8997 </td> <!-- entry_type -->
8998
8999 <td class="entry_description">
9000 The temperature of the sensor,<wbr> sampled at the time
9001 exposure began for this frame.<wbr>
9002<br>
9003<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
9004 somewhere close to it.<wbr>
9005
9006 </td>
9007
9008 <td class="entry_units">
9009 celsius
9010 </td>
9011
9012 <td class="entry_range">
9013 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9014 </td>
9015
9016 <td class="entry_notes">
9017 </td>
9018
9019 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -07009020 <ul class="entry_tags">
9021 <li><a href="#tag_FULL">FULL</a></li>
9022 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009023 </td>
9024
9025 </tr> <!-- end of entry -->
9026
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009027
9028
9029 <!-- end of kind -->
9030 </tbody>
9031
9032 <!-- end of section -->
9033 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9034
9035
9036 <tr><td colspan="7" class="kind">controls</td></tr>
9037
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009038 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009039 <tr>
9040 <th class="th_name">Property Name</th>
9041 <th class="th_type">Type</th>
9042 <th class="th_description">Description</th>
9043 <th class="th_units">Units</th>
9044 <th class="th_range">Range</th>
9045 <th class="th_notes">Notes</th>
9046 <th class="th_tags">Tags</th>
9047 </tr>
9048 </thead>
9049
9050 <tbody>
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061 <tr class="entry" id="controls_android.shading.mode">
9062 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9063 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009064 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009065
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009066 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009067
9068 <ul class="entry_type_enum">
9069 <li>
9070 <span class="entry_type_enum_name">OFF</span>
9071 <span class="entry_type_enum_notes">No shading correction is applied</span>
9072 </li>
9073 <li>
9074 <span class="entry_type_enum_name">FAST</span>
9075 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9076 bayer output</span>
9077 </li>
9078 <li>
9079 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9080 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9081 quality</span>
9082 </li>
9083 </ul>
9084
9085 </td> <!-- entry_type -->
9086
9087 <td class="entry_description">
9088 Quality of lens shading correction applied
9089 to the image data
9090 </td>
9091
9092 <td class="entry_units">
9093 </td>
9094
9095 <td class="entry_range">
9096 </td>
9097
9098 <td class="entry_notes">
9099 </td>
9100
9101 <td class="entry_tags">
9102 </td>
9103
9104 </tr> <!-- end of entry -->
9105
9106
9107 <tr class="entry" id="controls_android.shading.strength">
9108 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9109 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009110 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009111
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009112 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009113
9114
9115 </td> <!-- entry_type -->
9116
9117 <td class="entry_description">
9118 Control the amount of shading correction
9119 applied to the images
9120 </td>
9121
9122 <td class="entry_units">
9123 unitless: 1-10; 10 is full shading
9124 compensation
9125 </td>
9126
9127 <td class="entry_range">
9128 </td>
9129
9130 <td class="entry_notes">
9131 </td>
9132
9133 <td class="entry_tags">
9134 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009135 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009136 </ul>
9137 </td>
9138
9139 </tr> <!-- end of entry -->
9140
9141
9142
9143 <!-- end of kind -->
9144 </tbody>
9145 <tr><td colspan="7" class="kind">dynamic</td></tr>
9146
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009147 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009148 <tr>
9149 <th class="th_name">Property Name</th>
9150 <th class="th_type">Type</th>
9151 <th class="th_description">Description</th>
9152 <th class="th_units">Units</th>
9153 <th class="th_range">Range</th>
9154 <th class="th_notes">Notes</th>
9155 <th class="th_tags">Tags</th>
9156 </tr>
9157 </thead>
9158
9159 <tbody>
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170 <tr class="entry" id="dynamic_android.shading.mode">
9171 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9172 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009173 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009174
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009175 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009176
9177 <ul class="entry_type_enum">
9178 <li>
9179 <span class="entry_type_enum_name">OFF</span>
9180 <span class="entry_type_enum_notes">No shading correction is applied</span>
9181 </li>
9182 <li>
9183 <span class="entry_type_enum_name">FAST</span>
9184 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9185 bayer output</span>
9186 </li>
9187 <li>
9188 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9189 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9190 quality</span>
9191 </li>
9192 </ul>
9193
9194 </td> <!-- entry_type -->
9195
9196 <td class="entry_description">
9197 Quality of lens shading correction applied
9198 to the image data
9199 </td>
9200
9201 <td class="entry_units">
9202 </td>
9203
9204 <td class="entry_range">
9205 </td>
9206
9207 <td class="entry_notes">
9208 </td>
9209
9210 <td class="entry_tags">
9211 </td>
9212
9213 </tr> <!-- end of entry -->
9214
9215
9216
9217 <!-- end of kind -->
9218 </tbody>
9219
9220 <!-- end of section -->
9221 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9222
9223
9224 <tr><td colspan="7" class="kind">controls</td></tr>
9225
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009226 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009227 <tr>
9228 <th class="th_name">Property Name</th>
9229 <th class="th_type">Type</th>
9230 <th class="th_description">Description</th>
9231 <th class="th_units">Units</th>
9232 <th class="th_range">Range</th>
9233 <th class="th_notes">Notes</th>
9234 <th class="th_tags">Tags</th>
9235 </tr>
9236 </thead>
9237
9238 <tbody>
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9250 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9251 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009252 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009253
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009254 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009255
9256 <ul class="entry_type_enum">
9257 <li>
9258 <span class="entry_type_enum_name">OFF</span>
9259 </li>
9260 <li>
9261 <span class="entry_type_enum_name">SIMPLE</span>
9262 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9263 only</span>
9264 </li>
9265 <li>
9266 <span class="entry_type_enum_name">FULL</span>
9267 <span class="entry_type_enum_notes">Optional Return all face
9268 metadata</span>
9269 </li>
9270 </ul>
9271
9272 </td> <!-- entry_type -->
9273
9274 <td class="entry_description">
9275 State of the face detector
9276 unit
9277 </td>
9278
9279 <td class="entry_units">
9280 </td>
9281
9282 <td class="entry_range">
9283
Zhijun He69fc0ea2013-07-17 09:42:58 -07009284 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009285 </td>
9286
9287 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009288 Whether face detection is enabled,<wbr> and whether it
9289 should output just the basic fields or the full set of
9290 fields.<wbr> Value must be one of the
9291 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009292 </td>
9293
9294 <td class="entry_tags">
9295 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009296 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009297 </ul>
9298 </td>
9299
9300 </tr> <!-- end of entry -->
9301
9302
9303 <tr class="entry" id="controls_android.statistics.histogramMode">
9304 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9305 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009306 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009307
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009308 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009309
9310 <ul class="entry_type_enum">
9311 <li>
9312 <span class="entry_type_enum_name">OFF</span>
9313 </li>
9314 <li>
9315 <span class="entry_type_enum_name">ON</span>
9316 </li>
9317 </ul>
9318
9319 </td> <!-- entry_type -->
9320
9321 <td class="entry_description">
9322 Operating mode for histogram
9323 generation
9324 </td>
9325
9326 <td class="entry_units">
9327 </td>
9328
9329 <td class="entry_range">
9330 </td>
9331
9332 <td class="entry_notes">
9333 </td>
9334
9335 <td class="entry_tags">
9336 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009337 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009338 </ul>
9339 </td>
9340
9341 </tr> <!-- end of entry -->
9342
9343
9344 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9345 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009348
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009349 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009350
9351 <ul class="entry_type_enum">
9352 <li>
9353 <span class="entry_type_enum_name">OFF</span>
9354 </li>
9355 <li>
9356 <span class="entry_type_enum_name">ON</span>
9357 </li>
9358 </ul>
9359
9360 </td> <!-- entry_type -->
9361
9362 <td class="entry_description">
9363 Operating mode for sharpness map
9364 generation
9365 </td>
9366
9367 <td class="entry_units">
9368 </td>
9369
9370 <td class="entry_range">
9371 </td>
9372
9373 <td class="entry_notes">
9374 </td>
9375
9376 <td class="entry_tags">
9377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009378 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009379 </ul>
9380 </td>
9381
9382 </tr> <!-- end of entry -->
9383
Zhijun He69fc0ea2013-07-17 09:42:58 -07009384
9385 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9386 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9387 <td class="entry_type">
9388 <span class="entry_type_name entry_type_name_enum">byte</span>
9389
9390 <span class="entry_type_visibility"> [public]</span>
9391
9392 <ul class="entry_type_enum">
9393 <li>
9394 <span class="entry_type_enum_name">OFF</span>
9395 </li>
9396 <li>
9397 <span class="entry_type_enum_name">ON</span>
9398 </li>
9399 </ul>
9400
9401 </td> <!-- entry_type -->
9402
9403 <td class="entry_description">
9404 Whether the HAL needs to output the lens
9405 shading map in output result metadata
9406 </td>
9407
9408 <td class="entry_units">
9409 </td>
9410
9411 <td class="entry_range">
9412 </td>
9413
9414 <td class="entry_notes">
9415 When set to ON,<wbr>
9416 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9417 the output result metdata.<wbr>
9418 </td>
9419
9420 <td class="entry_tags">
9421 </td>
9422
9423 </tr> <!-- end of entry -->
9424
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009425
9426
9427 <!-- end of kind -->
9428 </tbody>
9429 <tr><td colspan="7" class="kind">static</td></tr>
9430
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009431 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009432 <tr>
9433 <th class="th_name">Property Name</th>
9434 <th class="th_type">Type</th>
9435 <th class="th_description">Description</th>
9436 <th class="th_units">Units</th>
9437 <th class="th_range">Range</th>
9438 <th class="th_notes">Notes</th>
9439 <th class="th_tags">Tags</th>
9440 </tr>
9441 </thead>
9442
9443 <tbody>
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9457 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009459 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009460 <span class="entry_type_container">x</span>
9461
9462 <span class="entry_type_array">
9463 n
9464 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009465 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009466 <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 -08009467
9468
9469 </td> <!-- entry_type -->
9470
9471 <td class="entry_description">
9472 Which face detection modes are available,<wbr>
9473 if any
9474 </td>
9475
9476 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009477 List of enum:
9478 OFF
9479 SIMPLE
9480 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009481 </td>
9482
9483 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009484 </td>
9485
9486 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009487 OFF means face detection is disabled,<wbr> it must
9488 be included in the list.<wbr>
9489<br>
9490<br> SIMPLE means the device supports the
9491 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9492 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9493<br>
9494<br> FULL means the device additionally supports the
9495 android.<wbr>statistics.<wbr>face<wbr>Ids and
9496 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9497
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009498 </td>
9499
9500 <td class="entry_tags">
9501 </td>
9502
9503 </tr> <!-- end of entry -->
9504
9505
9506 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9507 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9508 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009509 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009510
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009511 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009512
9513
9514 </td> <!-- entry_type -->
9515
9516 <td class="entry_description">
9517 Number of histogram buckets
9518 supported
9519 </td>
9520
9521 <td class="entry_units">
9522 </td>
9523
9524 <td class="entry_range">
9525 >= 64
9526 </td>
9527
9528 <td class="entry_notes">
9529 </td>
9530
9531 <td class="entry_tags">
9532 </td>
9533
9534 </tr> <!-- end of entry -->
9535
9536
9537 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9538 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9539 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009540 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009541
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009542 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009543
9544
9545 </td> <!-- entry_type -->
9546
9547 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009548 Maximum number of simultaneously detectable
9549 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009550 </td>
9551
9552 <td class="entry_units">
9553 </td>
9554
9555 <td class="entry_range">
9556 >= 4 if availableFaceDetectionModes lists
9557 modes besides OFF,<wbr> otherwise 0
9558 </td>
9559
9560 <td class="entry_notes">
9561 </td>
9562
9563 <td class="entry_tags">
9564 </td>
9565
9566 </tr> <!-- end of entry -->
9567
9568
9569 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9570 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9571 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009572 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009573
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009574 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009575
9576
9577 </td> <!-- entry_type -->
9578
9579 <td class="entry_description">
9580 Maximum value possible for a histogram
9581 bucket
9582 </td>
9583
9584 <td class="entry_units">
9585 </td>
9586
9587 <td class="entry_range">
9588 </td>
9589
9590 <td class="entry_notes">
9591 </td>
9592
9593 <td class="entry_tags">
9594 </td>
9595
9596 </tr> <!-- end of entry -->
9597
9598
9599 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9600 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9601 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009602 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009603
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009604 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009605
9606
9607 </td> <!-- entry_type -->
9608
9609 <td class="entry_description">
9610 Maximum value possible for a sharpness map
9611 region.<wbr>
9612 </td>
9613
9614 <td class="entry_units">
9615 </td>
9616
9617 <td class="entry_range">
9618 </td>
9619
9620 <td class="entry_notes">
9621 </td>
9622
9623 <td class="entry_tags">
9624 </td>
9625
9626 </tr> <!-- end of entry -->
9627
9628
9629 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9630 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9631 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009632 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009633 <span class="entry_type_container">x</span>
9634
9635 <span class="entry_type_array">
9636 2
9637 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009638 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009639 <div class="entry_type_notes">width x height</div>
9640
9641
9642 </td> <!-- entry_type -->
9643
9644 <td class="entry_description">
9645 Dimensions of the sharpness
9646 map
9647 </td>
9648
9649 <td class="entry_units">
9650 </td>
9651
9652 <td class="entry_range">
9653 Must be at least 32 x 32
9654 </td>
9655
9656 <td class="entry_notes">
9657 </td>
9658
9659 <td class="entry_tags">
9660 </td>
9661
9662 </tr> <!-- end of entry -->
9663
9664
9665
9666
9667
9668
9669 <!-- end of kind -->
9670 </tbody>
9671 <tr><td colspan="7" class="kind">dynamic</td></tr>
9672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009674 <tr>
9675 <th class="th_name">Property Name</th>
9676 <th class="th_type">Type</th>
9677 <th class="th_description">Description</th>
9678 <th class="th_units">Units</th>
9679 <th class="th_range">Range</th>
9680 <th class="th_notes">Notes</th>
9681 <th class="th_tags">Tags</th>
9682 </tr>
9683 </thead>
9684
9685 <tbody>
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9697 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009702
9703 <ul class="entry_type_enum">
9704 <li>
9705 <span class="entry_type_enum_name">OFF</span>
9706 </li>
9707 <li>
9708 <span class="entry_type_enum_name">SIMPLE</span>
9709 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9710 only</span>
9711 </li>
9712 <li>
9713 <span class="entry_type_enum_name">FULL</span>
9714 <span class="entry_type_enum_notes">Optional Return all face
9715 metadata</span>
9716 </li>
9717 </ul>
9718
9719 </td> <!-- entry_type -->
9720
9721 <td class="entry_description">
9722 State of the face detector
9723 unit
9724 </td>
9725
9726 <td class="entry_units">
9727 </td>
9728
9729 <td class="entry_range">
9730
Zhijun He69fc0ea2013-07-17 09:42:58 -07009731 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009732 </td>
9733
9734 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009735 Whether face detection is enabled,<wbr> and whether it
9736 should output just the basic fields or the full set of
9737 fields.<wbr> Value must be one of the
9738 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009739 </td>
9740
9741 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009742 <ul class="entry_tags">
9743 <li><a href="#tag_BC">BC</a></li>
9744 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009745 </td>
9746
9747 </tr> <!-- end of entry -->
9748
9749
9750 <tr class="entry" id="dynamic_android.statistics.faceIds">
9751 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9752 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009753 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009754 <span class="entry_type_container">x</span>
9755
9756 <span class="entry_type_array">
9757 n
9758 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009759 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009760
9761
9762 </td> <!-- entry_type -->
9763
9764 <td class="entry_description">
9765 List of unique IDs for detected
9766 faces
9767 </td>
9768
9769 <td class="entry_units">
9770 </td>
9771
9772 <td class="entry_range">
9773 </td>
9774
9775 <td class="entry_notes">
9776 Only available if faceDetectMode == FULL
9777 </td>
9778
9779 <td class="entry_tags">
9780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009781 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009782 </ul>
9783 </td>
9784
9785 </tr> <!-- end of entry -->
9786
9787
9788 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9789 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009791 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009792 <span class="entry_type_container">x</span>
9793
9794 <span class="entry_type_array">
9795 n x 6
9796 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009797 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009798 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9799
9800
9801 </td> <!-- entry_type -->
9802
9803 <td class="entry_description">
9804 List of landmarks for detected
9805 faces
9806 </td>
9807
9808 <td class="entry_units">
9809 </td>
9810
9811 <td class="entry_range">
9812 </td>
9813
9814 <td class="entry_notes">
9815 Only available if faceDetectMode == FULL
9816 </td>
9817
9818 <td class="entry_tags">
9819 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009820 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009821 </ul>
9822 </td>
9823
9824 </tr> <!-- end of entry -->
9825
9826
9827 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9828 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9829 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009830 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009831 <span class="entry_type_container">x</span>
9832
9833 <span class="entry_type_array">
9834 n x 4
9835 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009836 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009837 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9838
9839
9840 </td> <!-- entry_type -->
9841
9842 <td class="entry_description">
9843 List of the bounding rectangles for detected
9844 faces
9845 </td>
9846
9847 <td class="entry_units">
9848 </td>
9849
9850 <td class="entry_range">
9851 </td>
9852
9853 <td class="entry_notes">
9854 Only available if faceDetectMode != OFF
9855 </td>
9856
9857 <td class="entry_tags">
9858 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009859 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 </ul>
9861 </td>
9862
9863 </tr> <!-- end of entry -->
9864
9865
9866 <tr class="entry" id="dynamic_android.statistics.faceScores">
9867 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9868 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009869 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009870 <span class="entry_type_container">x</span>
9871
9872 <span class="entry_type_array">
9873 n
9874 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009875 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009876
9877
9878 </td> <!-- entry_type -->
9879
9880 <td class="entry_description">
9881 List of the face confidence scores for
9882 detected faces
9883 </td>
9884
9885 <td class="entry_units">
9886 </td>
9887
9888 <td class="entry_range">
Zhijun He59ccb1e2013-10-02 14:06:15 -07009889 1-100
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009890 </td>
9891
9892 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009893 Only available if faceDetectMode != OFF.<wbr> The value should be
9894 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009895 </td>
9896
9897 <td class="entry_tags">
9898 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009899 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009900 </ul>
9901 </td>
9902
9903 </tr> <!-- end of entry -->
9904
9905
9906 <tr class="entry" id="dynamic_android.statistics.histogram">
9907 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9908 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009909 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009910 <span class="entry_type_container">x</span>
9911
9912 <span class="entry_type_array">
9913 n x 3
9914 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009915 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009916 <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>
9917
9918
9919 </td> <!-- entry_type -->
9920
9921 <td class="entry_description">
9922 A 3-channel histogram based on the raw
9923 sensor data
9924 </td>
9925
9926 <td class="entry_units">
9927 </td>
9928
9929 <td class="entry_range">
9930 </td>
9931
9932 <td class="entry_notes">
9933 The k'th bucket (0-based) covers the input range
9934 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9935 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9936 supported,<wbr> all channels should have the same data
9937 </td>
9938
9939 <td class="entry_tags">
9940 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009941 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009942 </ul>
9943 </td>
9944
9945 </tr> <!-- end of entry -->
9946
9947
9948 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9949 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9950 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009951 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009952
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009953 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009954
9955 <ul class="entry_type_enum">
9956 <li>
9957 <span class="entry_type_enum_name">OFF</span>
9958 </li>
9959 <li>
9960 <span class="entry_type_enum_name">ON</span>
9961 </li>
9962 </ul>
9963
9964 </td> <!-- entry_type -->
9965
9966 <td class="entry_description">
9967 Operating mode for histogram
9968 generation
9969 </td>
9970
9971 <td class="entry_units">
9972 </td>
9973
9974 <td class="entry_range">
9975 </td>
9976
9977 <td class="entry_notes">
9978 </td>
9979
9980 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009981 <ul class="entry_tags">
9982 <li><a href="#tag_V1">V1</a></li>
9983 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009984 </td>
9985
9986 </tr> <!-- end of entry -->
9987
9988
9989 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9990 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009992 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009993 <span class="entry_type_container">x</span>
9994
9995 <span class="entry_type_array">
9996 n x m x 3
9997 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009998 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009999 <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>
10000
10001
10002 </td> <!-- entry_type -->
10003
10004 <td class="entry_description">
10005 A 3-channel sharpness map,<wbr> based on the raw
10006 sensor data
10007 </td>
10008
10009 <td class="entry_units">
10010 </td>
10011
10012 <td class="entry_range">
10013 </td>
10014
10015 <td class="entry_notes">
10016 If only a monochrome sharpness map is supported,<wbr>
10017 all channels should have the same data
10018 </td>
10019
10020 <td class="entry_tags">
10021 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010022 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010023 </ul>
10024 </td>
10025
10026 </tr> <!-- end of entry -->
10027
10028
10029 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10030 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10031 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010032 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010033
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010034 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010035
10036 <ul class="entry_type_enum">
10037 <li>
10038 <span class="entry_type_enum_name">OFF</span>
10039 </li>
10040 <li>
10041 <span class="entry_type_enum_name">ON</span>
10042 </li>
10043 </ul>
10044
10045 </td> <!-- entry_type -->
10046
10047 <td class="entry_description">
10048 Operating mode for sharpness map
10049 generation
10050 </td>
10051
10052 <td class="entry_units">
10053 </td>
10054
10055 <td class="entry_range">
10056 </td>
10057
10058 <td class="entry_notes">
10059 </td>
10060
10061 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010062 <ul class="entry_tags">
10063 <li><a href="#tag_V1">V1</a></li>
10064 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010065 </td>
10066
10067 </tr> <!-- end of entry -->
10068
Zhijun He69fc0ea2013-07-17 09:42:58 -070010069
10070 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10071 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10072 <td class="entry_type">
10073 <span class="entry_type_name">float</span>
10074 <span class="entry_type_container">x</span>
10075
10076 <span class="entry_type_array">
10077 4 x n x m
10078 </span>
10079 <span class="entry_type_visibility"> [public]</span>
10080 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10081
10082
10083 </td> <!-- entry_type -->
10084
10085 <td class="entry_description">
10086 A low-resolution map of lens shading,<wbr> per
10087 color channel
10088 </td>
10089
10090 <td class="entry_units">
10091 </td>
10092
10093 <td class="entry_range">
10094 Each gain factor is >= 1
10095 </td>
10096
10097 <td class="entry_notes">
10098 Assume bilinear interpolation of map.<wbr> The least
10099 shaded section of the image should have a gain factor
10100 of 1; all other sections should have gains above 1.<wbr>
10101 the map should be on the order of 30-40 rows,<wbr> and
10102 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010103<br>
10104<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10105 must take into account the colorCorrection settings.<wbr>
10106
Zhijun He69fc0ea2013-07-17 09:42:58 -070010107 </td>
10108
10109 <td class="entry_tags">
10110 </td>
10111
10112 </tr> <!-- end of entry -->
10113
10114
10115 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10116 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10117 <td class="entry_type">
10118 <span class="entry_type_name">float</span>
10119 <span class="entry_type_container">x</span>
10120
10121 <span class="entry_type_array">
10122 4
10123 </span>
10124 <span class="entry_type_visibility"> [public]</span>
10125 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10126
10127
10128 </td> <!-- entry_type -->
10129
10130 <td class="entry_description">
10131 The best-fit color channel gains calculated
10132 by the HAL's statistics units for the current output frame
10133
10134 </td>
10135
10136 <td class="entry_units">
10137 </td>
10138
10139 <td class="entry_range">
10140 </td>
10141
10142 <td class="entry_notes">
10143
10144 This may be different than the gains used for this frame,<wbr>
10145 since statistics processing on data from a new frame
10146 typically completes after the transform has already been
10147 applied to that frame.<wbr>
10148<br>
10149<br> The 4 channel gains are defined in Bayer domain,<wbr>
10150 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010151<br>
10152<br> This value should always be calculated by the AWB block,<wbr>
10153 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10154
Zhijun He69fc0ea2013-07-17 09:42:58 -070010155 </td>
10156
10157 <td class="entry_tags">
10158 </td>
10159
10160 </tr> <!-- end of entry -->
10161
10162
10163 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10164 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10165 <td class="entry_type">
10166 <span class="entry_type_name">rational</span>
10167 <span class="entry_type_container">x</span>
10168
10169 <span class="entry_type_array">
10170 3 x 3
10171 </span>
10172 <span class="entry_type_visibility"> [public]</span>
10173 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10174
10175
10176 </td> <!-- entry_type -->
10177
10178 <td class="entry_description">
10179 The best-fit color transform matrix estimate
10180 calculated by the HAL's statistics units for the current
10181 output frame
10182 </td>
10183
10184 <td class="entry_units">
10185 </td>
10186
10187 <td class="entry_range">
10188 </td>
10189
10190 <td class="entry_notes">
10191 The HAL must provide the estimate from its
10192 statistics unit on the white balance transforms to use
10193 for the next frame.<wbr> These are the values the HAL believes
10194 are the best fit for the current output frame.<wbr> This may
10195 be different than the transform used for this frame,<wbr> since
10196 statistics processing on data from a new frame typically
10197 completes after the transform has already been applied to
10198 that frame.<wbr>
10199<br>
10200<br> These estimates must be provided for all frames,<wbr> even if
10201 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010202<br>
10203<br> This value should always be calculated by the AWB block,<wbr>
10204 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010205
10206 </td>
10207
10208 <td class="entry_tags">
10209 </td>
10210
10211 </tr> <!-- end of entry -->
10212
10213
10214 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10215 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10216 <td class="entry_type">
10217 <span class="entry_type_name entry_type_name_enum">byte</span>
10218
10219 <span class="entry_type_visibility"> [public]</span>
10220
10221 <ul class="entry_type_enum">
10222 <li>
10223 <span class="entry_type_enum_name">NONE</span>
10224 </li>
10225 <li>
10226 <span class="entry_type_enum_name">50HZ</span>
10227 </li>
10228 <li>
10229 <span class="entry_type_enum_name">60HZ</span>
10230 </li>
10231 </ul>
10232
10233 </td> <!-- entry_type -->
10234
10235 <td class="entry_description">
10236 The HAL estimated scene illumination lighting
10237 frequency
10238 </td>
10239
10240 <td class="entry_units">
10241 </td>
10242
10243 <td class="entry_range">
10244 </td>
10245
10246 <td class="entry_notes">
10247 Report NONE if there doesn't appear to be flickering
10248 illumination
10249 </td>
10250
10251 <td class="entry_tags">
10252 </td>
10253
10254 </tr> <!-- end of entry -->
10255
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010256
10257
10258 <!-- end of kind -->
10259 </tbody>
10260
10261 <!-- end of section -->
10262 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10263
10264
10265 <tr><td colspan="7" class="kind">controls</td></tr>
10266
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010267 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010268 <tr>
10269 <th class="th_name">Property Name</th>
10270 <th class="th_type">Type</th>
10271 <th class="th_description">Description</th>
10272 <th class="th_units">Units</th>
10273 <th class="th_range">Range</th>
10274 <th class="th_notes">Notes</th>
10275 <th class="th_tags">Tags</th>
10276 </tr>
10277 </thead>
10278
10279 <tbody>
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290 <tr class="entry" id="controls_android.tonemap.curveBlue">
10291 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10292 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010293 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010294 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010295
Zhijun He704d1282013-08-19 15:26:33 -070010296 <span class="entry_type_array">
10297 n x 2
10298 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010299 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010300 <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 -080010301
10302
10303 </td> <!-- entry_type -->
10304
10305 <td class="entry_description">
10306 Table mapping blue input values to output
10307 values
10308 </td>
10309
10310 <td class="entry_units">
10311 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10312 </td>
10313
10314 <td class="entry_range">
10315 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10316 </td>
10317
10318 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010319 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10320 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10321<br>
10322<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010323 </td>
10324
10325 <td class="entry_tags">
10326 </td>
10327
10328 </tr> <!-- end of entry -->
10329
10330
10331 <tr class="entry" id="controls_android.tonemap.curveGreen">
10332 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10333 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010334 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010335 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010336
Zhijun He704d1282013-08-19 15:26:33 -070010337 <span class="entry_type_array">
10338 n x 2
10339 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010340 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010341 <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 -080010342
10343
10344 </td> <!-- entry_type -->
10345
10346 <td class="entry_description">
10347 Table mapping green input values to output
10348 values
10349 </td>
10350
10351 <td class="entry_units">
10352 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10353 </td>
10354
10355 <td class="entry_range">
10356 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10357 </td>
10358
10359 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010360 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10361 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10362<br>
10363<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010364 </td>
10365
10366 <td class="entry_tags">
10367 </td>
10368
10369 </tr> <!-- end of entry -->
10370
10371
10372 <tr class="entry" id="controls_android.tonemap.curveRed">
10373 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10374 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010375 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010376 <span class="entry_type_container">x</span>
10377
10378 <span class="entry_type_array">
10379 n x 2
10380 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010381 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010382 <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 -080010383
10384
10385 </td> <!-- entry_type -->
10386
10387 <td class="entry_description">
10388 Table mapping red input values to output
10389 values
10390 </td>
10391
10392 <td class="entry_units">
10393 </td>
10394
10395 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010396 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010397 </td>
10398
10399 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010400 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10401 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10402<br>
10403<br> Since the input and output ranges may vary depending on
10404 the camera pipeline,<wbr> the input and output pixel values
10405 are represented by normalized floating-point values
10406 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10407<br>
10408<br> The curve should be linearly interpolated between the
10409 defined points.<wbr> The points will be listed in increasing
10410 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 -080010411 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10412 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10413 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10414 </td>
10415
10416 <td class="entry_tags">
10417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010418 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010419 </ul>
10420 </td>
10421
10422 </tr> <!-- end of entry -->
10423
10424
10425 <tr class="entry" id="controls_android.tonemap.mode">
10426 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010428 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010429
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010430 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010431
10432 <ul class="entry_type_enum">
10433 <li>
10434 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10435 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10436 android.<wbr>tonemap.<wbr>curve</span>
10437 </li>
10438 <li>
10439 <span class="entry_type_enum_name">FAST</span>
10440 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10441 bayer output</span>
10442 </li>
10443 <li>
10444 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10445 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10446 quality</span>
10447 </li>
10448 </ul>
10449
10450 </td> <!-- entry_type -->
10451
10452 <td class="entry_description">
10453 </td>
10454
10455 <td class="entry_units">
10456 </td>
10457
10458 <td class="entry_range">
10459 </td>
10460
10461 <td class="entry_notes">
10462 </td>
10463
10464 <td class="entry_tags">
10465 </td>
10466
10467 </tr> <!-- end of entry -->
10468
10469
10470
10471 <!-- end of kind -->
10472 </tbody>
10473 <tr><td colspan="7" class="kind">static</td></tr>
10474
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010475 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010476 <tr>
10477 <th class="th_name">Property Name</th>
10478 <th class="th_type">Type</th>
10479 <th class="th_description">Description</th>
10480 <th class="th_units">Units</th>
10481 <th class="th_range">Range</th>
10482 <th class="th_notes">Notes</th>
10483 <th class="th_tags">Tags</th>
10484 </tr>
10485 </thead>
10486
10487 <tbody>
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10499 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10500 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010501 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010502
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010503 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010504
10505
10506 </td> <!-- entry_type -->
10507
10508 <td class="entry_description">
10509 Maximum number of supported points in the
10510 tonemap curve
10511 </td>
10512
10513 <td class="entry_units">
10514 </td>
10515
10516 <td class="entry_range">
10517 >= 128
10518 </td>
10519
10520 <td class="entry_notes">
10521 </td>
10522
10523 <td class="entry_tags">
10524 </td>
10525
10526 </tr> <!-- end of entry -->
10527
10528
10529
10530 <!-- end of kind -->
10531 </tbody>
10532 <tr><td colspan="7" class="kind">dynamic</td></tr>
10533
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010534 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010535 <tr>
10536 <th class="th_name">Property Name</th>
10537 <th class="th_type">Type</th>
10538 <th class="th_description">Description</th>
10539 <th class="th_units">Units</th>
10540 <th class="th_range">Range</th>
10541 <th class="th_notes">Notes</th>
10542 <th class="th_tags">Tags</th>
10543 </tr>
10544 </thead>
10545
10546 <tbody>
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10558 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10559 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010560 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010561 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010562
Zhijun He704d1282013-08-19 15:26:33 -070010563 <span class="entry_type_array">
10564 n x 2
10565 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010566 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010567 <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 -080010568
10569
10570 </td> <!-- entry_type -->
10571
10572 <td class="entry_description">
10573 Table mapping blue input values to output
10574 values
10575 </td>
10576
10577 <td class="entry_units">
10578 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10579 </td>
10580
10581 <td class="entry_range">
10582 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10583 </td>
10584
10585 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010586 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10587 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10588<br>
10589<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010590 </td>
10591
10592 <td class="entry_tags">
10593 </td>
10594
10595 </tr> <!-- end of entry -->
10596
10597
10598 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10599 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10600 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010601 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010602 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010603
Zhijun He704d1282013-08-19 15:26:33 -070010604 <span class="entry_type_array">
10605 n x 2
10606 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010607 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010608 <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 -080010609
10610
10611 </td> <!-- entry_type -->
10612
10613 <td class="entry_description">
10614 Table mapping green input values to output
10615 values
10616 </td>
10617
10618 <td class="entry_units">
10619 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10620 </td>
10621
10622 <td class="entry_range">
10623 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10624 </td>
10625
10626 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010627 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10628 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10629<br>
10630<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010631 </td>
10632
10633 <td class="entry_tags">
10634 </td>
10635
10636 </tr> <!-- end of entry -->
10637
10638
10639 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10640 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10641 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010642 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010643 <span class="entry_type_container">x</span>
10644
10645 <span class="entry_type_array">
10646 n x 2
10647 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010648 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010649 <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 -080010650
10651
10652 </td> <!-- entry_type -->
10653
10654 <td class="entry_description">
10655 Table mapping red input values to output
10656 values
10657 </td>
10658
10659 <td class="entry_units">
10660 </td>
10661
10662 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010663 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010664 </td>
10665
10666 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010667 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10668 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10669<br>
10670<br> Since the input and output ranges may vary depending on
10671 the camera pipeline,<wbr> the input and output pixel values
10672 are represented by normalized floating-point values
10673 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10674<br>
10675<br> The curve should be linearly interpolated between the
10676 defined points.<wbr> The points will be listed in increasing
10677 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 -080010678 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10679 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10680 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10681 </td>
10682
10683 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010684 <ul class="entry_tags">
10685 <li><a href="#tag_DNG">DNG</a></li>
10686 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010687 </td>
10688
10689 </tr> <!-- end of entry -->
10690
10691
10692 <tr class="entry" id="dynamic_android.tonemap.mode">
10693 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10694 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010695 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010696
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010697 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010698
10699 <ul class="entry_type_enum">
10700 <li>
10701 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10702 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10703 android.<wbr>tonemap.<wbr>curve</span>
10704 </li>
10705 <li>
10706 <span class="entry_type_enum_name">FAST</span>
10707 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10708 bayer output</span>
10709 </li>
10710 <li>
10711 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10712 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10713 quality</span>
10714 </li>
10715 </ul>
10716
10717 </td> <!-- entry_type -->
10718
10719 <td class="entry_description">
10720 </td>
10721
10722 <td class="entry_units">
10723 </td>
10724
10725 <td class="entry_range">
10726 </td>
10727
10728 <td class="entry_notes">
10729 </td>
10730
10731 <td class="entry_tags">
10732 </td>
10733
10734 </tr> <!-- end of entry -->
10735
10736
10737
10738 <!-- end of kind -->
10739 </tbody>
10740
10741 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010742 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10743
10744
10745 <tr><td colspan="7" class="kind">controls</td></tr>
10746
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010747 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010748 <tr>
10749 <th class="th_name">Property Name</th>
10750 <th class="th_type">Type</th>
10751 <th class="th_description">Description</th>
10752 <th class="th_units">Units</th>
10753 <th class="th_range">Range</th>
10754 <th class="th_notes">Notes</th>
10755 <th class="th_tags">Tags</th>
10756 </tr>
10757 </thead>
10758
10759 <tbody>
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770 <tr class="entry" id="controls_android.led.transmit">
10771 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10772 <td class="entry_type">
10773 <span class="entry_type_name entry_type_name_enum">byte</span>
10774
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010775 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010776
10777 <ul class="entry_type_enum">
10778 <li>
10779 <span class="entry_type_enum_name">OFF</span>
10780 </li>
10781 <li>
10782 <span class="entry_type_enum_name">ON</span>
10783 </li>
10784 </ul>
10785
10786 </td> <!-- entry_type -->
10787
10788 <td class="entry_description">
10789 This LED is nominally used to indicate to the user
10790 that the camera is powered on and may be streaming images back to the
10791 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10792 disable this when video is processed locally and not transmitted to
10793 any untrusted applications.<wbr>
10794<br>
10795<br> In particular,<wbr> the LED *must* always be on when the data could be
10796 transmitted off the device.<wbr> The LED *should* always be on whenever
10797 data is stored locally on the device.<wbr>
10798<br>
10799<br> The LED *may* be off if a trusted application is using the data that
10800 doesn't violate the above rules.<wbr>
10801
10802 </td>
10803
10804 <td class="entry_units">
10805 </td>
10806
10807 <td class="entry_range">
10808 </td>
10809
10810 <td class="entry_notes">
10811 </td>
10812
10813 <td class="entry_tags">
10814 </td>
10815
10816 </tr> <!-- end of entry -->
10817
10818
10819
10820 <!-- end of kind -->
10821 </tbody>
10822 <tr><td colspan="7" class="kind">dynamic</td></tr>
10823
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010824 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010825 <tr>
10826 <th class="th_name">Property Name</th>
10827 <th class="th_type">Type</th>
10828 <th class="th_description">Description</th>
10829 <th class="th_units">Units</th>
10830 <th class="th_range">Range</th>
10831 <th class="th_notes">Notes</th>
10832 <th class="th_tags">Tags</th>
10833 </tr>
10834 </thead>
10835
10836 <tbody>
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847 <tr class="entry" id="dynamic_android.led.transmit">
10848 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10849 <td class="entry_type">
10850 <span class="entry_type_name entry_type_name_enum">byte</span>
10851
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010852 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010853
10854 <ul class="entry_type_enum">
10855 <li>
10856 <span class="entry_type_enum_name">OFF</span>
10857 </li>
10858 <li>
10859 <span class="entry_type_enum_name">ON</span>
10860 </li>
10861 </ul>
10862
10863 </td> <!-- entry_type -->
10864
10865 <td class="entry_description">
10866 This LED is nominally used to indicate to the user
10867 that the camera is powered on and may be streaming images back to the
10868 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10869 disable this when video is processed locally and not transmitted to
10870 any untrusted applications.<wbr>
10871<br>
10872<br> In particular,<wbr> the LED *must* always be on when the data could be
10873 transmitted off the device.<wbr> The LED *should* always be on whenever
10874 data is stored locally on the device.<wbr>
10875<br>
10876<br> The LED *may* be off if a trusted application is using the data that
10877 doesn't violate the above rules.<wbr>
10878
10879 </td>
10880
10881 <td class="entry_units">
10882 </td>
10883
10884 <td class="entry_range">
10885 </td>
10886
10887 <td class="entry_notes">
10888 </td>
10889
10890 <td class="entry_tags">
10891 </td>
10892
10893 </tr> <!-- end of entry -->
10894
10895
10896
10897 <!-- end of kind -->
10898 </tbody>
10899 <tr><td colspan="7" class="kind">static</td></tr>
10900
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010901 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010902 <tr>
10903 <th class="th_name">Property Name</th>
10904 <th class="th_type">Type</th>
10905 <th class="th_description">Description</th>
10906 <th class="th_units">Units</th>
10907 <th class="th_range">Range</th>
10908 <th class="th_notes">Notes</th>
10909 <th class="th_tags">Tags</th>
10910 </tr>
10911 </thead>
10912
10913 <tbody>
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924 <tr class="entry" id="static_android.led.availableLeds">
10925 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10926 <td class="entry_type">
10927 <span class="entry_type_name entry_type_name_enum">byte</span>
10928 <span class="entry_type_container">x</span>
10929
10930 <span class="entry_type_array">
10931 n
10932 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010933 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010934
10935 <ul class="entry_type_enum">
10936 <li>
10937 <span class="entry_type_enum_name">TRANSMIT</span>
10938 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10939 </li>
10940 </ul>
10941
10942 </td> <!-- entry_type -->
10943
10944 <td class="entry_description">
10945 A list of camera LEDs that are available on this system.<wbr>
10946
10947 </td>
10948
10949 <td class="entry_units">
10950 </td>
10951
10952 <td class="entry_range">
10953 </td>
10954
10955 <td class="entry_notes">
10956 </td>
10957
10958 <td class="entry_tags">
10959 </td>
10960
10961 </tr> <!-- end of entry -->
10962
10963
10964
10965 <!-- end of kind -->
10966 </tbody>
10967
10968 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010969 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10970
10971
10972 <tr><td colspan="7" class="kind">static</td></tr>
10973
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010974 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010975 <tr>
10976 <th class="th_name">Property Name</th>
10977 <th class="th_type">Type</th>
10978 <th class="th_description">Description</th>
10979 <th class="th_units">Units</th>
10980 <th class="th_range">Range</th>
10981 <th class="th_notes">Notes</th>
10982 <th class="th_tags">Tags</th>
10983 </tr>
10984 </thead>
10985
10986 <tbody>
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10998 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10999 <td class="entry_type">
11000 <span class="entry_type_name entry_type_name_enum">byte</span>
11001
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011002 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011003
11004 <ul class="entry_type_enum">
11005 <li>
11006 <span class="entry_type_enum_name">LIMITED</span>
11007 </li>
11008 <li>
11009 <span class="entry_type_enum_name">FULL</span>
11010 </li>
11011 </ul>
11012
11013 </td> <!-- entry_type -->
11014
11015 <td class="entry_description">
11016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011017 The camera 3 HAL device can implement one of two possible
11018 operational modes; limited and full.<wbr> Full support is
11019 expected from new higher-end devices.<wbr> Limited mode has
11020 hardware requirements roughly in line with those for a
11021 camera HAL device v1 implementation,<wbr> and is expected from
11022 older or inexpensive devices.<wbr> Full is a strict superset of
11023 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011024<br>
11025<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11026
11027 </td>
11028
11029 <td class="entry_units">
11030 </td>
11031
11032 <td class="entry_range">
11033 Optional.<wbr> Default value is LIMITED.<wbr>
11034 </td>
11035
11036 <td class="entry_notes">
11037 </td>
11038
11039 <td class="entry_tags">
11040 </td>
11041
11042 </tr> <!-- end of entry -->
11043
11044
11045
11046 <!-- end of kind -->
11047 </tbody>
11048
11049 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011050 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11051
11052
11053 <tr><td colspan="7" class="kind">controls</td></tr>
11054
11055 <thead class="entries_header">
11056 <tr>
11057 <th class="th_name">Property Name</th>
11058 <th class="th_type">Type</th>
11059 <th class="th_description">Description</th>
11060 <th class="th_units">Units</th>
11061 <th class="th_range">Range</th>
11062 <th class="th_notes">Notes</th>
11063 <th class="th_tags">Tags</th>
11064 </tr>
11065 </thead>
11066
11067 <tbody>
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078 <tr class="entry" id="controls_android.blackLevel.lock">
11079 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11080 <td class="entry_type">
11081 <span class="entry_type_name entry_type_name_enum">byte</span>
11082
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011083 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011084
11085 <ul class="entry_type_enum">
11086 <li>
11087 <span class="entry_type_enum_name">OFF</span>
11088 </li>
11089 <li>
11090 <span class="entry_type_enum_name">ON</span>
11091 </li>
11092 </ul>
11093
11094 </td> <!-- entry_type -->
11095
11096 <td class="entry_description">
11097 Whether black-level compensation is locked
11098 to its current values,<wbr> or is free to vary
11099 </td>
11100
11101 <td class="entry_units">
11102 </td>
11103
11104 <td class="entry_range">
11105 </td>
11106
11107 <td class="entry_notes">
11108 When set to ON,<wbr> the values used for black-level
11109 compensation must not change until the lock is set to
11110 OFF
11111<br>
11112<br> Since changes to certain capture parameters (such as
11113 exposure time) may require resetting of black level
11114 compensation,<wbr> the HAL must report whether setting the
11115 black level lock was successful in the output result
11116 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011117<br>
11118<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11119 If for some reason black level locking is no longer legal (for example,<wbr>
11120 the analog gain has changed,<wbr> which forces black levels to be
11121 recalculated),<wbr> then the HAL is free to override this request (and it
11122 must report 'OFF' when this does happen) until the next time locking
11123 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011124 </td>
11125
11126 <td class="entry_tags">
11127 <ul class="entry_tags">
11128 <li><a href="#tag_HAL2">HAL2</a></li>
11129 </ul>
11130 </td>
11131
11132 </tr> <!-- end of entry -->
11133
11134
11135
11136 <!-- end of kind -->
11137 </tbody>
11138 <tr><td colspan="7" class="kind">dynamic</td></tr>
11139
11140 <thead class="entries_header">
11141 <tr>
11142 <th class="th_name">Property Name</th>
11143 <th class="th_type">Type</th>
11144 <th class="th_description">Description</th>
11145 <th class="th_units">Units</th>
11146 <th class="th_range">Range</th>
11147 <th class="th_notes">Notes</th>
11148 <th class="th_tags">Tags</th>
11149 </tr>
11150 </thead>
11151
11152 <tbody>
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163 <tr class="entry" id="dynamic_android.blackLevel.lock">
11164 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11165 <td class="entry_type">
11166 <span class="entry_type_name entry_type_name_enum">byte</span>
11167
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011168 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011169
11170 <ul class="entry_type_enum">
11171 <li>
11172 <span class="entry_type_enum_name">OFF</span>
11173 </li>
11174 <li>
11175 <span class="entry_type_enum_name">ON</span>
11176 </li>
11177 </ul>
11178
11179 </td> <!-- entry_type -->
11180
11181 <td class="entry_description">
11182 Whether black-level compensation is locked
11183 to its current values,<wbr> or is free to vary
11184 </td>
11185
11186 <td class="entry_units">
11187 </td>
11188
11189 <td class="entry_range">
11190 </td>
11191
11192 <td class="entry_notes">
11193 When set to ON,<wbr> the values used for black-level
11194 compensation must not change until the lock is set to
11195 OFF
11196<br>
11197<br> Since changes to certain capture parameters (such as
11198 exposure time) may require resetting of black level
11199 compensation,<wbr> the HAL must report whether setting the
11200 black level lock was successful in the output result
11201 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011202<br>
11203<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11204 If for some reason black level locking is no longer legal (for example,<wbr>
11205 the analog gain has changed,<wbr> which forces black levels to be
11206 recalculated),<wbr> then the HAL is free to override this request (and it
11207 must report 'OFF' when this does happen) until the next time locking
11208 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011209 </td>
11210
11211 <td class="entry_tags">
11212 <ul class="entry_tags">
11213 <li><a href="#tag_HAL2">HAL2</a></li>
11214 </ul>
11215 </td>
11216
11217 </tr> <!-- end of entry -->
11218
11219
11220
11221 <!-- end of kind -->
11222 </tbody>
11223
11224 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011225<!-- </namespace> -->
11226 </table>
11227
11228 <div class="tags" id="tag_index">
11229 <h2>Tags</h2>
11230 <ul>
11231 <li id="tag_AWB">AWB -
11232 Needed for auto white balance
11233
11234 <ul class="tags_entries">
11235 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11236 </ul>
11237 </li> <!-- tag_AWB -->
11238 <li id="tag_BC">BC -
11239 Needed for backwards compatibility with old Java API
11240
11241 <ul class="tags_entries">
11242 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11243 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11244 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11245 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11246 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011247 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011248 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11249 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011250 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011251 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11252 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11253 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11254 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11255 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11256 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11257 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11258 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11259 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11260 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11261 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11262 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11263 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11264 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11265 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11266 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11267 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11268 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11269 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11270 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11271 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11272 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11273 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11274 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11275 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11276 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11277 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11278 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11279 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11280 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11281 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11282 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11283 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11284 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11285 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11286 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011287 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011288 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11289 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11290 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011291 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011292 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011293 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11294 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11295 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11296 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11297 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11298 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11299 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11300 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11301 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11302 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11303 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11304 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11305 </ul>
11306 </li> <!-- tag_BC -->
11307 <li id="tag_V1">V1 -
11308 New features for first camera 2 release (API1)
11309
11310 <ul class="tags_entries">
11311 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11312 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11313 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11314 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11315 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11316 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11317 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11318 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11319 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11320 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11321 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11322 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11323 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11324 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11325 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11326 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11327 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11328 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11329 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11330 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11331 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11332 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11333 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11334 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011335 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011336 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11337 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11338 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11339 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11340 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11341 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11342 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11343 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11344 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11345 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11346 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11347 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11348 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11349 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11350 </ul>
11351 </li> <!-- tag_V1 -->
11352 <li id="tag_ADV">ADV - None
11353 <ul class="tags_entries">
11354 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11355 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11356 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11357 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11358 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11359 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11360 </ul>
11361 </li> <!-- tag_ADV -->
11362 <li id="tag_DNG">DNG -
11363 Needed for DNG file support
11364
11365 <ul class="tags_entries">
11366 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011367 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11368 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11369 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11370 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11371 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11372 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11373 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11374 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11375 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11376 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11377 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11378 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11379 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11380 </ul>
11381 </li> <!-- tag_DNG -->
11382 <li id="tag_EXIF">EXIF - None
11383 <ul class="tags_entries">
11384 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11385 </ul>
11386 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011387 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070011388 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011389
11390 <ul class="tags_entries">
11391 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11392 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11393 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011394 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011395 </ul>
11396 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070011397 <li id="tag_FULL">FULL -
11398 Entry is required for full hardware level devices, and optional for other hardware levels
11399
11400 <ul class="tags_entries">
11401 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11402 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11403 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
11404 </ul>
11405 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011406 </ul>
11407 </div>
11408
11409 [ <a href="#">top</a> ]
11410
11411</body>
11412</html>