blob: 2e049694e239715b7f06a03ea806aa0e1554bcc8 [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
389 </ul>
390 </li>
391 </ul> <!-- toc_section -->
392 </li>
393 <li>
394 <span class="toc_section_header"><a href="#section_request">request</a></span>
395 <ul class="toc_section">
396 <li>
397 <span class="toc_kind_header">controls</span>
398 <ul class="toc_section">
399 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
400 <li><a href="#controls_android.request.id">android.request.id</a></li>
401 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
402 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
403 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
404 <li><a href="#controls_android.request.type">android.request.type</a></li>
405 </ul>
406 </li>
407 <li>
408 <span class="toc_kind_header">static</span>
409 <ul class="toc_section">
410 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
411 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">dynamic</span>
416 <ul class="toc_section">
417 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
418 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
419 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
420 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
421 </ul>
422 </li>
423 </ul> <!-- toc_section -->
424 </li>
425 <li>
426 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
427 <ul class="toc_section">
428 <li>
429 <span class="toc_kind_header">controls</span>
430 <ul class="toc_section">
431 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
432 </ul>
433 </li>
434 <li>
435 <span class="toc_kind_header">static</span>
436 <ul class="toc_section">
437 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
438 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
439 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
440 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
441 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
442 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
443 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
444 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
445 </ul>
446 </li>
447 <li>
448 <span class="toc_kind_header">dynamic</span>
449 <ul class="toc_section">
450 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
451 </ul>
452 </li>
453 </ul> <!-- toc_section -->
454 </li>
455 <li>
456 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
457 <ul class="toc_section">
458 <li>
459 <span class="toc_kind_header">controls</span>
460 <ul class="toc_section">
461 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
462 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
463 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
464 </ul>
465 </li>
466 <li>
467 <span class="toc_kind_header">static</span>
468 <ul class="toc_section">
469
470 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700471 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700472 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
473 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
474 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
475 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
476 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
477 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
478
479 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
480 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
481 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
482 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
483 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
484 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
485 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
486 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
487 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
488 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
489 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
490 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
491 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
492 </ul>
493 </li>
494 <li>
495 <span class="toc_kind_header">dynamic</span>
496 <ul class="toc_section">
497 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
498 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
499 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
500 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700501 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700502 </ul>
503 </li>
504 </ul> <!-- toc_section -->
505 </li>
506 <li>
507 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
508 <ul class="toc_section">
509 <li>
510 <span class="toc_kind_header">controls</span>
511 <ul class="toc_section">
512 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
513 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
514 </ul>
515 </li>
516 <li>
517 <span class="toc_kind_header">dynamic</span>
518 <ul class="toc_section">
519 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
520 </ul>
521 </li>
522 </ul> <!-- toc_section -->
523 </li>
524 <li>
525 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
526 <ul class="toc_section">
527 <li>
528 <span class="toc_kind_header">controls</span>
529 <ul class="toc_section">
530 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
531 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
532 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700533 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700534 </ul>
535 </li>
536 <li>
537 <span class="toc_kind_header">static</span>
538 <ul class="toc_section">
539
540 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
541 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
542 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
543 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
544 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
545 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
546
547 </ul>
548 </li>
549 <li>
550 <span class="toc_kind_header">dynamic</span>
551 <ul class="toc_section">
552 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
553 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
554 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
555 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
556 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
557 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
558 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
559 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
560 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700561 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
562 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
563 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
564 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700565 </ul>
566 </li>
567 </ul> <!-- toc_section -->
568 </li>
569 <li>
570 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
571 <ul class="toc_section">
572 <li>
573 <span class="toc_kind_header">controls</span>
574 <ul class="toc_section">
575 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
576 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
577 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
578 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
579 </ul>
580 </li>
581 <li>
582 <span class="toc_kind_header">static</span>
583 <ul class="toc_section">
584 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
585 </ul>
586 </li>
587 <li>
588 <span class="toc_kind_header">dynamic</span>
589 <ul class="toc_section">
590 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
591 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
592 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
593 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
594 </ul>
595 </li>
596 </ul> <!-- toc_section -->
597 </li>
598 <li>
599 <span class="toc_section_header"><a href="#section_led">led</a></span>
600 <ul class="toc_section">
601 <li>
602 <span class="toc_kind_header">controls</span>
603 <ul class="toc_section">
604 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
605 </ul>
606 </li>
607 <li>
608 <span class="toc_kind_header">dynamic</span>
609 <ul class="toc_section">
610 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
611 </ul>
612 </li>
613 <li>
614 <span class="toc_kind_header">static</span>
615 <ul class="toc_section">
616 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
617 </ul>
618 </li>
619 </ul> <!-- toc_section -->
620 </li>
621 <li>
622 <span class="toc_section_header"><a href="#section_info">info</a></span>
623 <ul class="toc_section">
624 <li>
625 <span class="toc_kind_header">static</span>
626 <ul class="toc_section">
627 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
628 </ul>
629 </li>
630 </ul> <!-- toc_section -->
631 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700632 <li>
633 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
634 <ul class="toc_section">
635 <li>
636 <span class="toc_kind_header">controls</span>
637 <ul class="toc_section">
638 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
639 </ul>
640 </li>
641 <li>
642 <span class="toc_kind_header">dynamic</span>
643 <ul class="toc_section">
644 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
645 </ul>
646 </li>
647 </ul> <!-- toc_section -->
648 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800649 </ul>
650
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700651
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800652 <h1>Properties</h1>
653 <table class="properties">
654
655 <thead class="thead_dummy">
656 <tr>
657 <th class="th_name">Property Name</th>
658 <th class="th_type">Type</th>
659 <th class="th_description">Description</th>
660 <th class="th_units">Units</th>
661 <th class="th_range">Range</th>
662 <th class="th_notes">Notes</th>
663 <th class="th_tags">Tags</th>
664 </tr>
665 </thead> <!-- so that the first occurrence of thead is not
666 above the first occurrence of tr -->
667<!-- <namespace name="android"> -->
668 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
669
670
671 <tr><td colspan="7" class="kind">controls</td></tr>
672
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700673 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800674 <tr>
675 <th class="th_name">Property Name</th>
676 <th class="th_type">Type</th>
677 <th class="th_description">Description</th>
678 <th class="th_units">Units</th>
679 <th class="th_range">Range</th>
680 <th class="th_notes">Notes</th>
681 <th class="th_tags">Tags</th>
682 </tr>
683 </thead>
684
685 <tbody>
686
687
688
689
690
691
692
693
694
695
696 <tr class="entry" id="controls_android.colorCorrection.mode">
697 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700701 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800702
703 <ul class="entry_type_enum">
704 <li>
705 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
706 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700707 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800708 </li>
709 <li>
710 <span class="entry_type_enum_name">FAST</span>
711 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
712 bayer output</span>
713 </li>
714 <li>
715 <span class="entry_type_enum_name">HIGH_QUALITY</span>
716 <span class="entry_type_enum_notes">Frame rate may be reduced by high
717 quality</span>
718 </li>
719 </ul>
720
721 </td> <!-- entry_type -->
722
723 <td class="entry_description">
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
Timothy Knight21f88802013-09-06 13:32:51 -0700733 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700734 should be ignored.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800735 </td>
736
737 <td class="entry_tags">
738 </td>
739
740 </tr> <!-- end of entry -->
741
742
743 <tr class="entry" id="controls_android.colorCorrection.transform">
744 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
745 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700746 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800747 <span class="entry_type_container">x</span>
748
749 <span class="entry_type_array">
750 3 x 3
751 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700752 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754
755
756 </td> <!-- entry_type -->
757
758 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700759 A color transform matrix to use to transform
760 from sensor RGB color space to output linear sRGB color space
761
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800762 </td>
763
764 <td class="entry_units">
765 </td>
766
767 <td class="entry_range">
768 Output values are expected to be in the range
769 (0,<wbr>1)
770 </td>
771
772 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700773 This matrix is either set by HAL when the request
774 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
775 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700776 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
777<br>
778<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700779 for precision issues; the final rounded matrix should be
780 reported back in this matrix result metadata.<wbr>
781 </td>
782
783 <td class="entry_tags">
784 </td>
785
786 </tr> <!-- end of entry -->
787
788
789 <tr class="entry" id="controls_android.colorCorrection.gains">
790 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
791 <td class="entry_type">
792 <span class="entry_type_name">float</span>
793 <span class="entry_type_container">x</span>
794
795 <span class="entry_type_array">
796 4
797 </span>
798 <span class="entry_type_visibility"> [public]</span>
799 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
800
801
802 </td> <!-- entry_type -->
803
804 <td class="entry_description">
805 Gains applying to Bayer color channels for
806 white-balance
807 </td>
808
809 <td class="entry_units">
810 </td>
811
812 <td class="entry_range">
813 </td>
814
815 <td class="entry_notes">
816 The 4-channel white-balance gains are defined in
817 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
818 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
819 is the gain for greenpixels on the odd rows.<wbr> if a HAL
820 does not support a separate gain for even/<wbr>odd green channels,<wbr>
821 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
822 G_<wbr>even in the output result metadata.<wbr>
823<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700824<br> This array is either set by HAL when the request
825 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
826 directly by the application in the request when the
827 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
828<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700829<br> The ouput should be the gains actually applied by the HAL to
830 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800831 </td>
832
833 <td class="entry_tags">
834 </td>
835
836 </tr> <!-- end of entry -->
837
838
839
840 <!-- end of kind -->
841 </tbody>
842 <tr><td colspan="7" class="kind">dynamic</td></tr>
843
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700844 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800845 <tr>
846 <th class="th_name">Property Name</th>
847 <th class="th_type">Type</th>
848 <th class="th_description">Description</th>
849 <th class="th_units">Units</th>
850 <th class="th_range">Range</th>
851 <th class="th_notes">Notes</th>
852 <th class="th_tags">Tags</th>
853 </tr>
854 </thead>
855
856 <tbody>
857
858
859
860
861
862
863
864
865
866
Zhijun He69fc0ea2013-07-17 09:42:58 -0700867 <tr class="entry" id="dynamic_android.colorCorrection.transform">
868 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800869 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <span class="entry_type_name">rational</span>
871 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_array">
874 3 x 3
875 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700876 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700877 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800879
880 </td> <!-- entry_type -->
881
882 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700883 A color transform matrix to use to transform
884 from sensor RGB color space to output linear sRGB color space
885
886 </td>
887
888 <td class="entry_units">
889 </td>
890
891 <td class="entry_range">
892 Output values are expected to be in the range
893 (0,<wbr>1)
894 </td>
895
896 <td class="entry_notes">
897 This matrix is either set by HAL when the request
898 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
899 directly by the application in the request when the
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700900 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
901<br>
902<br> In the latter case,<wbr> the HAL may round the matrix to account
Zhijun He69fc0ea2013-07-17 09:42:58 -0700903 for precision issues; the final rounded matrix should be
904 reported back in this matrix result metadata.<wbr>
905 </td>
906
907 <td class="entry_tags">
908 </td>
909
910 </tr> <!-- end of entry -->
911
912
913 <tr class="entry" id="dynamic_android.colorCorrection.gains">
914 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
915 <td class="entry_type">
916 <span class="entry_type_name">float</span>
917 <span class="entry_type_container">x</span>
918
919 <span class="entry_type_array">
920 4
921 </span>
922 <span class="entry_type_visibility"> [public]</span>
923 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
924
925
926 </td> <!-- entry_type -->
927
928 <td class="entry_description">
929 Gains applying to Bayer color channels for
930 white-balance
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800931 </td>
932
933 <td class="entry_units">
934 </td>
935
936 <td class="entry_range">
937 </td>
938
939 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700940 The 4-channel white-balance gains are defined in
941 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
942 for green pixels on even rows of the output,<wbr> and G_<wbr>odd
943 is the gain for greenpixels on the odd rows.<wbr> if a HAL
944 does not support a separate gain for even/<wbr>odd green channels,<wbr>
945 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
946 G_<wbr>even in the output result metadata.<wbr>
947<br>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700948<br> This array is either set by HAL when the request
949 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950 directly by the application in the request when the
951 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr>
952<br>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700953<br> The ouput should be the gains actually applied by the HAL to
954 the current frame.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800955 </td>
956
957 <td class="entry_tags">
958 </td>
959
960 </tr> <!-- end of entry -->
961
962
963
964 <!-- end of kind -->
965 </tbody>
966
967 <!-- end of section -->
968 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
969
970
971 <tr><td colspan="7" class="kind">controls</td></tr>
972
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700973 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800974 <tr>
975 <th class="th_name">Property Name</th>
976 <th class="th_type">Type</th>
977 <th class="th_description">Description</th>
978 <th class="th_units">Units</th>
979 <th class="th_range">Range</th>
980 <th class="th_notes">Notes</th>
981 <th class="th_tags">Tags</th>
982 </tr>
983 </thead>
984
985 <tbody>
986
987
988
989
990
991
992
993
994
995
996 <tr class="entry" id="controls_android.control.aeAntibandingMode">
997 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800999 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001000
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001001 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001002
1003 <ul class="entry_type_enum">
1004 <li>
1005 <span class="entry_type_enum_name">OFF</span>
1006 </li>
1007 <li>
1008 <span class="entry_type_enum_name">50HZ</span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">60HZ</span>
1012 </li>
1013 <li>
1014 <span class="entry_type_enum_name">AUTO</span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Enum for controlling
1022 antibanding
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029
1030 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1031 </td>
1032
1033 <td class="entry_notes">
1034 </td>
1035
1036 <td class="entry_tags">
1037 </td>
1038
1039 </tr> <!-- end of entry -->
1040
1041
1042 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1043 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1044 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001045 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001046
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001047 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048
1049
1050 </td> <!-- entry_type -->
1051
1052 <td class="entry_description">
1053 Adjustment to AE target image
1054 brightness
1055 </td>
1056
1057 <td class="entry_units">
1058 count of positive/<wbr>negative EV steps
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1066 exposure compensation of +2 EV; -3 will mean an exposure
1067 compensation of -1
1068 </td>
1069
1070 <td class="entry_tags">
1071 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001072 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001073 </ul>
1074 </td>
1075
1076 </tr> <!-- end of entry -->
1077
1078
1079 <tr class="entry" id="controls_android.control.aeLock">
1080 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001082 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001083
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001084 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001085
1086 <ul class="entry_type_enum">
1087 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001088 <span class="entry_type_enum_name">OFF</span>
1089 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1090 is free to update its parameters.<wbr></span>
1091 </li>
1092 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001093 <span class="entry_type_enum_name">ON</span>
1094 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1095 must not update the exposure and sensitivity parameters
1096 while the lock is active</span>
1097 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001098 </ul>
1099
1100 </td> <!-- entry_type -->
1101
1102 <td class="entry_description">
1103 Whether AE is currently locked to its latest
1104 calculated values
1105 </td>
1106
1107 <td class="entry_units">
1108 </td>
1109
1110 <td class="entry_range">
1111 </td>
1112
1113 <td class="entry_notes">
1114 Note that even when AE is locked,<wbr> the flash may be
1115 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1116 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
1128 <tr class="entry" id="controls_android.control.aeMode">
1129 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001131 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001138 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1139 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001140 </li>
1141 <li>
1142 <span class="entry_type_enum_name">ON</span>
1143 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1144 control</span>
1145 </li>
1146 <li>
1147 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1148 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1149 flash control; flash may be fired when precapture
1150 trigger is activated,<wbr> and for captures for which
1151 captureIntent = STILL_<wbr>CAPTURE</span>
1152 </li>
1153 <li>
1154 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1156 flash control for precapture trigger and always flash
1157 when captureIntent = STILL_<wbr>CAPTURE</span>
1158 </li>
1159 <li>
1160 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1161 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1162 If deemed necessary,<wbr> red eye reduction sequence should
1163 fire when precapture trigger is activated,<wbr> and final
1164 flash should fire when captureIntent =
1165 STILL_<wbr>CAPTURE</span>
1166 </li>
1167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AE is currently updating the sensor
1173 exposure and sensitivity fields
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1181 </td>
1182
1183 <td class="entry_notes">
1184 Only effective if android.<wbr>control.<wbr>mode =
1185 AUTO
1186 </td>
1187
1188 <td class="entry_tags">
1189 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001190 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001191 </ul>
1192 </td>
1193
1194 </tr> <!-- end of entry -->
1195
1196
1197 <tr class="entry" id="controls_android.control.aeRegions">
1198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201 <span class="entry_type_container">x</span>
1202
1203 <span class="entry_type_array">
1204 5 x area_count
1205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001207
1208
1209 </td> <!-- entry_type -->
1210
1211 <td class="entry_description">
1212 List of areas to use for
1213 metering
1214 </td>
1215
1216 <td class="entry_units">
1217 </td>
1218
1219 <td class="entry_range">
1220 </td>
1221
1222 <td class="entry_notes">
1223 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001224 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1225 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001226<br>
1227<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001228 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1229 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1230 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1231 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001232 should be nonnegative.<wbr>
1233<br>
1234<br> If all regions have 0 weight,<wbr> then no specific metering area
1235 needs to be used by the HAL.<wbr> If the metering region is
1236 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1237 should ignore the sections outside the region and output the
1238 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001239 </td>
1240
1241 <td class="entry_tags">
1242 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001243 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001244 </ul>
1245 </td>
1246
1247 </tr> <!-- end of entry -->
1248
1249
1250 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1251 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1252 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001253 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001254 <span class="entry_type_container">x</span>
1255
1256 <span class="entry_type_array">
1257 2
1258 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001259 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001260
1261
1262 </td> <!-- entry_type -->
1263
1264 <td class="entry_description">
1265 Range over which fps can be adjusted to
1266 maintain exposure
1267 </td>
1268
1269 <td class="entry_units">
1270 </td>
1271
1272 <td class="entry_range">
1273 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1274 </td>
1275
1276 <td class="entry_notes">
1277 Only constrains AE algorithm,<wbr> not manual control
1278 of android.<wbr>sensor.<wbr>exposure<wbr>Time
1279 </td>
1280
1281 <td class="entry_tags">
1282 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001283 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001284 </ul>
1285 </td>
1286
1287 </tr> <!-- end of entry -->
1288
1289
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001290 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1291 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1292 <td class="entry_type">
1293 <span class="entry_type_name entry_type_name_enum">byte</span>
1294
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001295 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001296
1297 <ul class="entry_type_enum">
1298 <li>
1299 <span class="entry_type_enum_name">IDLE</span>
1300 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1301 </li>
1302 <li>
1303 <span class="entry_type_enum_name">START</span>
1304 <span class="entry_type_enum_notes">The precapture metering sequence
1305 must be started.<wbr> The exact effect of the precapture
1306 trigger depends on the current AE mode and
1307 state.<wbr></span>
1308 </li>
1309 </ul>
1310
1311 </td> <!-- entry_type -->
1312
1313 <td class="entry_description">
1314 Whether the HAL must trigger precapture
1315 metering.<wbr>
1316 </td>
1317
1318 <td class="entry_units">
1319 </td>
1320
1321 <td class="entry_range">
1322 </td>
1323
1324 <td class="entry_notes">
1325 This entry is normally set to IDLE,<wbr> or is not
1326 included at all in the request settings.<wbr> When included and
1327 set to START,<wbr> the HAL must trigger the autoexposure
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001328 precapture metering sequence.<wbr>
1329<br>
1330<br> The effect of AE precapture trigger depends on the current
1331 AE mode and state; see the camera HAL device v3 header for
1332 details.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001333 </td>
1334
1335 <td class="entry_tags">
1336 <ul class="entry_tags">
1337 <li><a href="#tag_BC">BC</a></li>
1338 </ul>
1339 </td>
1340
1341 </tr> <!-- end of entry -->
1342
1343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344 <tr class="entry" id="controls_android.control.afMode">
1345 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1346 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001347 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001349 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001350
1351 <ul class="entry_type_enum">
1352 <li>
1353 <span class="entry_type_enum_name">OFF</span>
1354 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001355 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001356 application</span>
1357 </li>
1358 <li>
1359 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001360 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
1361
1362 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1363 is fixed focus In this mode,<wbr> the lens does not move unless
1364 the autofocus trigger action is called.<wbr> When that trigger
1365 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1366 the outcome of the scan (FOCUSED or
1367 NOT_<wbr>FOCUSED).<wbr>
1368
1369 Triggering cancel AF resets the lens position to default,<wbr>
1370 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001371 </li>
1372 <li>
1373 <span class="entry_type_enum_name">MACRO</span>
1374 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001375 autofocus trigger action is called.<wbr>
1376
1377 When that trigger is activated,<wbr> AF must transition to
1378 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1379 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1380 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001381 INACTIVE.<wbr></span>
1382 </li>
1383 <li>
1384 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1385 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1386 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001387 constantly-in-focus image stream.<wbr>
1388
1389 The focusing behavior should be suitable for good quality
1390 video recording; typically this means slower focus
1391 movement and no overshoots.<wbr> When the AF trigger is not
1392 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1393 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1394 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1395 the algorithm should immediately transition into
1396 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1397 lens position until a cancel AF trigger is received.<wbr>
1398
1399 Once cancel is received,<wbr> the algorithm should transition
1400 back to INACTIVE and resume passive scan.<wbr> Note that this
1401 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1402 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 canceled.<wbr></span>
1404 </li>
1405 <li>
1406 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1407 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1408 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001409 constantly-in-focus image stream.<wbr>
1410
1411 The focusing behavior should be suitable for still image
1412 capture; typically this means focusing as fast as
1413 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1414 algorithm should start in INACTIVE state,<wbr> and then
1415 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1416 appropriate as it attempts to maintain focus.<wbr> When the AF
1417 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001418 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001419 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1420 lens position until a cancel AF trigger is received.<wbr>
1421
1422 When the AF cancel trigger is activated,<wbr> the algorithm
1423 should transition back to INACTIVE and then act as if it
1424 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001425 </li>
1426 <li>
1427 <span class="entry_type_enum_name">EDOF</span>
1428 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1429 trigger is ignored,<wbr> AF state should always be
1430 INACTIVE.<wbr></span>
1431 </li>
1432 </ul>
1433
1434 </td> <!-- entry_type -->
1435
1436 <td class="entry_description">
1437 Whether AF is currently enabled,<wbr> and what
1438 mode it is set to
1439 </td>
1440
1441 <td class="entry_units">
1442 </td>
1443
1444 <td class="entry_range">
1445 </td>
1446
1447 <td class="entry_notes">
1448 </td>
1449
1450 <td class="entry_tags">
1451 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001452 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001453 </ul>
1454 </td>
1455
1456 </tr> <!-- end of entry -->
1457
1458
1459 <tr class="entry" id="controls_android.control.afRegions">
1460 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1461 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001462 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001463 <span class="entry_type_container">x</span>
1464
1465 <span class="entry_type_array">
1466 5 x area_count
1467 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001468 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001469
1470
1471 </td> <!-- entry_type -->
1472
1473 <td class="entry_description">
1474 List of areas to use for focus
1475 estimation
1476 </td>
1477
1478 <td class="entry_units">
1479 </td>
1480
1481 <td class="entry_range">
1482 </td>
1483
1484 <td class="entry_notes">
1485 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001486 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1487 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001488<br>
1489<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001490 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1491 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1492 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1493 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001494 should be nonnegative.<wbr>
1495<br>
1496<br> If all regions have 0 weight,<wbr> then no specific focus area
1497 needs to be used by the HAL.<wbr> If the focusing region is
1498 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1499 should ignore the sections outside the region and output the
1500 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </td>
1502
1503 <td class="entry_tags">
1504 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001505 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506 </ul>
1507 </td>
1508
1509 </tr> <!-- end of entry -->
1510
1511
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001512 <tr class="entry" id="controls_android.control.afTrigger">
1513 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1514 <td class="entry_type">
1515 <span class="entry_type_name entry_type_name_enum">byte</span>
1516
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001517 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001518
1519 <ul class="entry_type_enum">
1520 <li>
1521 <span class="entry_type_enum_name">IDLE</span>
1522 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1523 </li>
1524 <li>
1525 <span class="entry_type_enum_name">START</span>
1526 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1527 </li>
1528 <li>
1529 <span class="entry_type_enum_name">CANCEL</span>
1530 <span class="entry_type_enum_notes">Autofocus must return to initial
1531 state,<wbr> and cancel any active trigger.<wbr></span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
1537 <td class="entry_description">
1538 Whether the HAL must trigger autofocus.<wbr>
1539 </td>
1540
1541 <td class="entry_units">
1542 </td>
1543
1544 <td class="entry_range">
1545 </td>
1546
1547 <td class="entry_notes">
1548 This entry is normally set to IDLE,<wbr> or is not
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001549 included at all in the request settings.<wbr>
1550<br>
1551<br> When included and set to START,<wbr> the HAL must trigger the
1552 autofocus algorithm.<wbr> The effect of AF trigger depends on the
1553 current AF mode and state; see the camera HAL device v3
1554 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1555 any active trigger,<wbr> and return to initial AF state.<wbr>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001556 </td>
1557
1558 <td class="entry_tags">
1559 <ul class="entry_tags">
1560 <li><a href="#tag_BC">BC</a></li>
1561 </ul>
1562 </td>
1563
1564 </tr> <!-- end of entry -->
1565
1566
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567 <tr class="entry" id="controls_android.control.awbLock">
1568 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001570 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001571
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001572 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001573
1574 <ul class="entry_type_enum">
1575 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001576 <span class="entry_type_enum_name">OFF</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1578 algorithm is free to update its parameters if in AUTO
1579 mode.<wbr></span>
1580 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001581 <li>
1582 <span class="entry_type_enum_name">ON</span>
1583 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1584 algorithm must not update the exposure and sensitivity
1585 parameters while the lock is active</span>
1586 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001587 </ul>
1588
1589 </td> <!-- entry_type -->
1590
1591 <td class="entry_description">
1592 Whether AWB is currently locked to its
1593 latest calculated values
1594 </td>
1595
1596 <td class="entry_units">
1597 </td>
1598
1599 <td class="entry_range">
1600 </td>
1601
1602 <td class="entry_notes">
1603 Note that AWB lock is only meaningful for AUTO
1604 mode; in other modes,<wbr> AWB is already fixed to a specific
1605 setting
1606 </td>
1607
1608 <td class="entry_tags">
1609 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001610 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001611 </ul>
1612 </td>
1613
1614 </tr> <!-- end of entry -->
1615
1616
1617 <tr class="entry" id="controls_android.control.awbMode">
1618 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1619 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001620 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001621
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001622 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001623
1624 <ul class="entry_type_enum">
1625 <li>
1626 <span class="entry_type_enum_name">OFF</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">AUTO</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">INCANDESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">FLUORESCENT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">DAYLIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1645 </li>
1646 <li>
1647 <span class="entry_type_enum_name">TWILIGHT</span>
1648 </li>
1649 <li>
1650 <span class="entry_type_enum_name">SHADE</span>
1651 </li>
1652 </ul>
1653
1654 </td> <!-- entry_type -->
1655
1656 <td class="entry_description">
1657 Whether AWB is currently setting the color
1658 transform fields,<wbr> and what its illumination target
1659 is
1660 </td>
1661
1662 <td class="entry_units">
1663 </td>
1664
1665 <td class="entry_range">
1666 </td>
1667
1668 <td class="entry_notes">
1669 [BC - AWB lock,<wbr>AWB modes]
1670 </td>
1671
1672 <td class="entry_tags">
1673 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001674 <li><a href="#tag_BC">BC</a></li>
1675 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001676 </ul>
1677 </td>
1678
1679 </tr> <!-- end of entry -->
1680
1681
1682 <tr class="entry" id="controls_android.control.awbRegions">
1683 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686 <span class="entry_type_container">x</span>
1687
1688 <span class="entry_type_array">
1689 5 x area_count
1690 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001691 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001692
1693
1694 </td> <!-- entry_type -->
1695
1696 <td class="entry_description">
1697 List of areas to use for illuminant
1698 estimation
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001708 Only used in AUTO mode.<wbr>
1709<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07001710<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1711 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1712 specified coordinates.<wbr>
1713<br>
1714<br> The coordinate system is based on the active pixel array,<wbr>
1715 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1716 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1717 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1718 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001719 should be nonnegative.<wbr>
1720<br>
1721<br> If all regions have 0 weight,<wbr> then no specific metering area
1722 needs to be used by the HAL.<wbr> If the metering region is
1723 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1724 should ignore the sections outside the region and output the
1725 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001726 </td>
1727
1728 <td class="entry_tags">
1729 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001730 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001731 </ul>
1732 </td>
1733
1734 </tr> <!-- end of entry -->
1735
1736
1737 <tr class="entry" id="controls_android.control.captureIntent">
1738 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001743
1744 <ul class="entry_type_enum">
1745 <li>
1746 <span class="entry_type_enum_name">CUSTOM</span>
1747 <span class="entry_type_enum_notes">This request doesn't fall into the other
1748 categories.<wbr> Default to preview-like
1749 behavior.<wbr></span>
1750 </li>
1751 <li>
1752 <span class="entry_type_enum_name">PREVIEW</span>
1753 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1754 precapture trigger may be used to start off a metering
1755 w/<wbr>flash sequence</span>
1756 </li>
1757 <li>
1758 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1759 <span class="entry_type_enum_notes">This request is for a still capture-type
1760 usecase.<wbr></span>
1761 </li>
1762 <li>
1763 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1764 <span class="entry_type_enum_notes">This request is for a video recording
1765 usecase.<wbr></span>
1766 </li>
1767 <li>
1768 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1769 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1770 image while recording video) usecase</span>
1771 </li>
1772 <li>
1773 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1774 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1775 application will stream full-resolution images and
1776 reprocess one or several later for a final
1777 capture</span>
1778 </li>
1779 </ul>
1780
1781 </td> <!-- entry_type -->
1782
1783 <td class="entry_description">
1784 Information to 3A routines about the purpose
1785 of this capture,<wbr> to help decide optimal 3A
1786 strategy
1787 </td>
1788
1789 <td class="entry_units">
1790 </td>
1791
1792 <td class="entry_range">
1793 all must be supported
1794 </td>
1795
1796 <td class="entry_notes">
1797 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1798 </td>
1799
1800 <td class="entry_tags">
1801 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001802 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001803 </ul>
1804 </td>
1805
1806 </tr> <!-- end of entry -->
1807
1808
1809 <tr class="entry" id="controls_android.control.effectMode">
1810 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1811 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001812 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001813
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001814 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001815
1816 <ul class="entry_type_enum">
1817 <li>
1818 <span class="entry_type_enum_name">OFF</span>
1819 </li>
1820 <li>
1821 <span class="entry_type_enum_name">MONO</span>
1822 <span class="entry_type_enum_optional">optional</span>
1823 </li>
1824 <li>
1825 <span class="entry_type_enum_name">NEGATIVE</span>
1826 <span class="entry_type_enum_optional">optional</span>
1827 </li>
1828 <li>
1829 <span class="entry_type_enum_name">SOLARIZE</span>
1830 <span class="entry_type_enum_optional">optional</span>
1831 </li>
1832 <li>
1833 <span class="entry_type_enum_name">SEPIA</span>
1834 <span class="entry_type_enum_optional">optional</span>
1835 </li>
1836 <li>
1837 <span class="entry_type_enum_name">POSTERIZE</span>
1838 <span class="entry_type_enum_optional">optional</span>
1839 </li>
1840 <li>
1841 <span class="entry_type_enum_name">WHITEBOARD</span>
1842 <span class="entry_type_enum_optional">optional</span>
1843 </li>
1844 <li>
1845 <span class="entry_type_enum_name">BLACKBOARD</span>
1846 <span class="entry_type_enum_optional">optional</span>
1847 </li>
1848 <li>
1849 <span class="entry_type_enum_name">AQUA</span>
1850 <span class="entry_type_enum_optional">optional</span>
1851 </li>
1852 </ul>
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Whether any special color effect is in use.<wbr>
1858 Only used if android.<wbr>control.<wbr>mode != OFF
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 android.<wbr>control.<wbr>available<wbr>Effects
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="controls_android.control.mode">
1881 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001885 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001886
1887 <ul class="entry_type_enum">
1888 <li>
1889 <span class="entry_type_enum_name">OFF</span>
1890 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1891 routines are disabled,<wbr> no other settings in
1892 android.<wbr>control.<wbr>* have any effect</span>
1893 </li>
1894 <li>
1895 <span class="entry_type_enum_name">AUTO</span>
1896 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1897 Manual control of capture parameters is disabled.<wbr> All
1898 controls in android.<wbr>control.<wbr>* besides sceneMode take
1899 effect</span>
1900 </li>
1901 <li>
1902 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1903 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1904 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1905 controls; the HAL must ignore those settings while
1906 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1907 scene mode).<wbr> Other control entries are still active.<wbr>
1908 This setting can only be used if availableSceneModes !=
1909 UNSUPPORTED</span>
1910 </li>
1911 </ul>
1912
1913 </td> <!-- entry_type -->
1914
1915 <td class="entry_description">
1916 Overall mode of 3A control
1917 routines
1918 </td>
1919
1920 <td class="entry_units">
1921 </td>
1922
1923 <td class="entry_range">
1924 all must be supported
1925 </td>
1926
1927 <td class="entry_notes">
1928 </td>
1929
1930 <td class="entry_tags">
1931 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001932 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001933 </ul>
1934 </td>
1935
1936 </tr> <!-- end of entry -->
1937
1938
1939 <tr class="entry" id="controls_android.control.sceneMode">
1940 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1941 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001942 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001943
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001944 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001945
1946 <ul class="entry_type_enum">
1947 <li>
1948 <span class="entry_type_enum_name">UNSUPPORTED</span>
1949 <span class="entry_type_enum_value">0</span>
1950 </li>
1951 <li>
1952 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1953 <span class="entry_type_enum_notes">if face detection support exists Use face
1954 detection data to drive 3A routines.<wbr> If face detection
1955 statistics are disabled,<wbr> should still operate correctly
1956 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001957 framework).<wbr>
1958
1959 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1960 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1961 compatibility concerns with the old camera
1962 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 </li>
1964 <li>
1965 <span class="entry_type_enum_name">ACTION</span>
1966 <span class="entry_type_enum_optional">optional</span>
1967 </li>
1968 <li>
1969 <span class="entry_type_enum_name">PORTRAIT</span>
1970 <span class="entry_type_enum_optional">optional</span>
1971 </li>
1972 <li>
1973 <span class="entry_type_enum_name">LANDSCAPE</span>
1974 <span class="entry_type_enum_optional">optional</span>
1975 </li>
1976 <li>
1977 <span class="entry_type_enum_name">NIGHT</span>
1978 <span class="entry_type_enum_optional">optional</span>
1979 </li>
1980 <li>
1981 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1982 <span class="entry_type_enum_optional">optional</span>
1983 </li>
1984 <li>
1985 <span class="entry_type_enum_name">THEATRE</span>
1986 <span class="entry_type_enum_optional">optional</span>
1987 </li>
1988 <li>
1989 <span class="entry_type_enum_name">BEACH</span>
1990 <span class="entry_type_enum_optional">optional</span>
1991 </li>
1992 <li>
1993 <span class="entry_type_enum_name">SNOW</span>
1994 <span class="entry_type_enum_optional">optional</span>
1995 </li>
1996 <li>
1997 <span class="entry_type_enum_name">SUNSET</span>
1998 <span class="entry_type_enum_optional">optional</span>
1999 </li>
2000 <li>
2001 <span class="entry_type_enum_name">STEADYPHOTO</span>
2002 <span class="entry_type_enum_optional">optional</span>
2003 </li>
2004 <li>
2005 <span class="entry_type_enum_name">FIREWORKS</span>
2006 <span class="entry_type_enum_optional">optional</span>
2007 </li>
2008 <li>
2009 <span class="entry_type_enum_name">SPORTS</span>
2010 <span class="entry_type_enum_optional">optional</span>
2011 </li>
2012 <li>
2013 <span class="entry_type_enum_name">PARTY</span>
2014 <span class="entry_type_enum_optional">optional</span>
2015 </li>
2016 <li>
2017 <span class="entry_type_enum_name">CANDLELIGHT</span>
2018 <span class="entry_type_enum_optional">optional</span>
2019 </li>
2020 <li>
2021 <span class="entry_type_enum_name">BARCODE</span>
2022 <span class="entry_type_enum_optional">optional</span>
2023 </li>
2024 </ul>
2025
2026 </td> <!-- entry_type -->
2027
2028 <td class="entry_description">
2029 Which scene mode is active when
2030 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
2031 </td>
2032
2033 <td class="entry_units">
2034 </td>
2035
2036 <td class="entry_range">
2037 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2038 </td>
2039
2040 <td class="entry_notes">
2041 </td>
2042
2043 <td class="entry_tags">
2044 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002045 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002046 </ul>
2047 </td>
2048
2049 </tr> <!-- end of entry -->
2050
2051
2052 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2053 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002055 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002056
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002057 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002058
2059 <ul class="entry_type_enum">
2060 <li>
2061 <span class="entry_type_enum_name">OFF</span>
2062 </li>
2063 <li>
2064 <span class="entry_type_enum_name">ON</span>
2065 </li>
2066 </ul>
2067
2068 </td> <!-- entry_type -->
2069
2070 <td class="entry_description">
2071 Whether video stabilization is
2072 active
2073 </td>
2074
2075 <td class="entry_units">
2076 </td>
2077
2078 <td class="entry_range">
2079 </td>
2080
2081 <td class="entry_notes">
2082 If enabled,<wbr> video stabilization can modify the
2083 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2084 stabilized
2085 </td>
2086
2087 <td class="entry_tags">
2088 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002089 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002090 </ul>
2091 </td>
2092
2093 </tr> <!-- end of entry -->
2094
2095
2096
2097 <!-- end of kind -->
2098 </tbody>
2099 <tr><td colspan="7" class="kind">static</td></tr>
2100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002102 <tr>
2103 <th class="th_name">Property Name</th>
2104 <th class="th_type">Type</th>
2105 <th class="th_description">Description</th>
2106 <th class="th_units">Units</th>
2107 <th class="th_range">Range</th>
2108 <th class="th_notes">Notes</th>
2109 <th class="th_tags">Tags</th>
2110 </tr>
2111 </thead>
2112
2113 <tbody>
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2125 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002127 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002128 <span class="entry_type_container">x</span>
2129
2130 <span class="entry_type_array">
2131 n
2132 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002133 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002134 <div class="entry_type_notes">list of enums</div>
2135
2136
2137 </td> <!-- entry_type -->
2138
2139 <td class="entry_description">
2140 Which set of antibanding modes are
2141 supported
2142 </td>
2143
2144 <td class="entry_units">
2145 </td>
2146
2147 <td class="entry_range">
2148 </td>
2149
2150 <td class="entry_notes">
2151 </td>
2152
2153 <td class="entry_tags">
2154 </td>
2155
2156 </tr> <!-- end of entry -->
2157
2158
2159 <tr class="entry" id="static_android.control.aeAvailableModes">
2160 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002163 <span class="entry_type_container">x</span>
2164
2165 <span class="entry_type_array">
2166 n
2167 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002168 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002169 <div class="entry_type_notes">list of enums</div>
2170
2171
2172 </td> <!-- entry_type -->
2173
2174 <td class="entry_description">
2175 Which subset of AE modes is
2176 supported
2177 </td>
2178
2179 <td class="entry_units">
2180 </td>
2181
2182 <td class="entry_range">
2183 OFF,<wbr> ON must be supported.<wbr>
2184 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2185 unit is available
2186 </td>
2187
2188 <td class="entry_notes">
2189 </td>
2190
2191 <td class="entry_tags">
2192 </td>
2193
2194 </tr> <!-- end of entry -->
2195
2196
2197 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2198 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002200 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002201 <span class="entry_type_container">x</span>
2202
2203 <span class="entry_type_array">
2204 2 x n
2205 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002206 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002207 <div class="entry_type_notes">list of pairs of frame rates</div>
2208
2209
2210 </td> <!-- entry_type -->
2211
2212 <td class="entry_description">
2213 List of frame rate ranges supported by the
2214 AE algorithm/<wbr>hardware
2215 </td>
2216
2217 <td class="entry_units">
2218 </td>
2219
2220 <td class="entry_range">
2221 </td>
2222
2223 <td class="entry_notes">
2224 </td>
2225
2226 <td class="entry_tags">
2227 </td>
2228
2229 </tr> <!-- end of entry -->
2230
2231
2232 <tr class="entry" id="static_android.control.aeCompensationRange">
2233 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002235 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002236 <span class="entry_type_container">x</span>
2237
2238 <span class="entry_type_array">
2239 2
2240 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002241 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002242
2243
2244 </td> <!-- entry_type -->
2245
2246 <td class="entry_description">
2247 Maximum and minimum exposure compensation
2248 setting,<wbr> in counts of
2249 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
2250 </td>
2251
2252 <td class="entry_units">
2253 </td>
2254
2255 <td class="entry_range">
2256 At least (-2,<wbr>2)/<wbr>(exp compensation step
2257 size)
2258 </td>
2259
2260 <td class="entry_notes">
2261 </td>
2262
2263 <td class="entry_tags">
2264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002265 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002266 </ul>
2267 </td>
2268
2269 </tr> <!-- end of entry -->
2270
2271
2272 <tr class="entry" id="static_android.control.aeCompensationStep">
2273 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002275 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002277 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280 </td> <!-- entry_type -->
2281
2282 <td class="entry_description">
2283 Smallest step by which exposure compensation
2284 can be changed
2285 </td>
2286
2287 <td class="entry_units">
2288 </td>
2289
2290 <td class="entry_range">
2291 <= 1/<wbr>2
2292 </td>
2293
2294 <td class="entry_notes">
2295 </td>
2296
2297 <td class="entry_tags">
2298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002300 </ul>
2301 </td>
2302
2303 </tr> <!-- end of entry -->
2304
2305
2306 <tr class="entry" id="static_android.control.afAvailableModes">
2307 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002309 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002310 <span class="entry_type_container">x</span>
2311
2312 <span class="entry_type_array">
2313 n
2314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002316 <div class="entry_type_notes">List of enums</div>
2317
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 List of AF modes that can be
2323 selected
2324 </td>
2325
2326 <td class="entry_units">
2327 </td>
2328
2329 <td class="entry_range">
2330 OFF must be included.<wbr> AUTO must be supported if
2331 lens allows for changing focus
2332 </td>
2333
2334 <td class="entry_notes">
2335 </td>
2336
2337 <td class="entry_tags">
2338 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002339 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002340 </ul>
2341 </td>
2342
2343 </tr> <!-- end of entry -->
2344
2345
2346 <tr class="entry" id="static_android.control.availableEffects">
2347 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2348 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002349 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002350 <span class="entry_type_container">x</span>
2351
2352 <span class="entry_type_array">
2353 n
2354 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002355 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 <div class="entry_type_notes">list of enums</div>
2357
2358
2359 </td> <!-- entry_type -->
2360
2361 <td class="entry_description">
2362 what subset of the full color effect enum
2363 list is supported
2364 </td>
2365
2366 <td class="entry_units">
2367 </td>
2368
2369 <td class="entry_range">
2370 OFF must be listed
2371 </td>
2372
2373 <td class="entry_notes">
2374 </td>
2375
2376 <td class="entry_tags">
2377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002379 </ul>
2380 </td>
2381
2382 </tr> <!-- end of entry -->
2383
2384
2385 <tr class="entry" id="static_android.control.availableSceneModes">
2386 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002388 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002389 <span class="entry_type_container">x</span>
2390
2391 <span class="entry_type_array">
2392 n
2393 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002394 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002395 <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
2396
2397
2398 </td> <!-- entry_type -->
2399
2400 <td class="entry_description">
2401 what subset of the scene mode enum list is
2402 supported.<wbr>
2403 </td>
2404
2405 <td class="entry_units">
2406 </td>
2407
2408 <td class="entry_range">
2409 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2410 detection is supported
2411 </td>
2412
2413 <td class="entry_notes">
2414 </td>
2415
2416 <td class="entry_tags">
2417 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002418 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002419 </ul>
2420 </td>
2421
2422 </tr> <!-- end of entry -->
2423
2424
2425 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2426 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002429 <span class="entry_type_container">x</span>
2430
2431 <span class="entry_type_array">
2432 n
2433 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002434 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002435 <div class="entry_type_notes">List of enums.<wbr></div>
2436
2437
2438 </td> <!-- entry_type -->
2439
2440 <td class="entry_description">
2441 List of video stabilization modes that can
2442 be supported
2443 </td>
2444
2445 <td class="entry_units">
2446 </td>
2447
2448 <td class="entry_range">
2449 OFF must be included
2450 </td>
2451
2452 <td class="entry_notes">
2453 </td>
2454
2455 <td class="entry_tags">
2456 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002457 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002458 </ul>
2459 </td>
2460
2461 </tr> <!-- end of entry -->
2462
2463
2464 <tr class="entry" id="static_android.control.awbAvailableModes">
2465 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002467 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002468 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002469
Alex Raya4251d92013-04-30 16:43:44 -07002470 <span class="entry_type_array">
2471 n
2472 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002473 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002474 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002475
2476
2477 </td> <!-- entry_type -->
2478
2479 <td class="entry_description">
2480 </td>
2481
2482 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002483 </td>
2484
2485 <td class="entry_range">
2486 OFF,<wbr> AUTO must be included
2487 </td>
2488
2489 <td class="entry_notes">
2490 </td>
2491
2492 <td class="entry_tags">
2493 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002494 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002495 </ul>
2496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="static_android.control.maxRegions">
2502 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002506 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002507
2508
2509 </td> <!-- entry_type -->
2510
2511 <td class="entry_description">
2512 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2513 regions can be listed for metering?
2514 </td>
2515
2516 <td class="entry_units">
2517 </td>
2518
2519 <td class="entry_range">
2520 >= 1
2521 </td>
2522
2523 <td class="entry_notes">
2524 </td>
2525
2526 <td class="entry_tags">
2527 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002528 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002529 </ul>
2530 </td>
2531
2532 </tr> <!-- end of entry -->
2533
2534
2535 <tr class="entry" id="static_android.control.sceneModeOverrides">
2536 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002538 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002539 <span class="entry_type_container">x</span>
2540
2541 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002542 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002544 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002545
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2551 each available scene mode
2552 </td>
2553
2554 <td class="entry_units">
2555 </td>
2556
2557 <td class="entry_range">
2558 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2559 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002560 scene mode.<wbr>
2561
2562 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2563 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002564 </td>
2565
2566 <td class="entry_notes">
2567 When a scene mode is enabled,<wbr> the HAL is expected
2568 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002569 preferred settings for that scene mode.<wbr>
2570<br>
2571<br> To simplify communication with old camera API applications,<wbr>
2572 the service wants this override list in the static metadata.<wbr>
2573 The order of this list matches that of availableSceneModes,<wbr>
2574 with 3 entires for each scene mode.<wbr> The overrides listed
2575 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2576 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2577 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2578 AUTO.<wbr>
2579<br>
2580<br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2581 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2582 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2583 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2584 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2585 INCANDESCENT,<wbr> AUTO }
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002586 </td>
2587
2588 <td class="entry_tags">
2589 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002590 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002591 </ul>
2592 </td>
2593
2594 </tr> <!-- end of entry -->
2595
2596
2597
2598 <!-- end of kind -->
2599 </tbody>
2600 <tr><td colspan="7" class="kind">dynamic</td></tr>
2601
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002602 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002603 <tr>
2604 <th class="th_name">Property Name</th>
2605 <th class="th_type">Type</th>
2606 <th class="th_description">Description</th>
2607 <th class="th_units">Units</th>
2608 <th class="th_range">Range</th>
2609 <th class="th_notes">Notes</th>
2610 <th class="th_tags">Tags</th>
2611 </tr>
2612 </thead>
2613
2614 <tbody>
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2626 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002629
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002630 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002631
2632
2633 </td> <!-- entry_type -->
2634
2635 <td class="entry_description">
2636 The ID sent with the latest
2637 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2638 </td>
2639
2640 <td class="entry_units">
2641 </td>
2642
2643 <td class="entry_range">
2644 </td>
2645
2646 <td class="entry_notes">
2647 Must be 0 if no
2648 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2649 by HAL.<wbr> Always updated even if AE algorithm ignores the
2650 trigger
2651 </td>
2652
2653 <td class="entry_tags">
2654 </td>
2655
2656 </tr> <!-- end of entry -->
2657
2658
2659 <tr class="entry" id="dynamic_android.control.aeRegions">
2660 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002662 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002663 <span class="entry_type_container">x</span>
2664
2665 <span class="entry_type_array">
2666 5 x area_count
2667 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002668 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669
2670
2671 </td> <!-- entry_type -->
2672
2673 <td class="entry_description">
2674 List of areas to use for
2675 metering
2676 </td>
2677
2678 <td class="entry_units">
2679 </td>
2680
2681 <td class="entry_range">
2682 </td>
2683
2684 <td class="entry_notes">
2685 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002686 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2687 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002688<br>
2689<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002690 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2691 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2692 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2693 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002694 should be nonnegative.<wbr>
2695<br>
2696<br> If all regions have 0 weight,<wbr> then no specific metering area
2697 needs to be used by the HAL.<wbr> If the metering region is
2698 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2699 should ignore the sections outside the region and output the
2700 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002701 </td>
2702
2703 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002704 <ul class="entry_tags">
2705 <li><a href="#tag_BC">BC</a></li>
2706 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002707 </td>
2708
2709 </tr> <!-- end of entry -->
2710
2711
2712 <tr class="entry" id="dynamic_android.control.aeState">
2713 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002715 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002716
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002717 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002718
2719 <ul class="entry_type_enum">
2720 <li>
2721 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002722 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2723 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002724 </li>
2725 <li>
2726 <span class="entry_type_enum_name">SEARCHING</span>
2727 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2728 for the current scene</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">CONVERGED</span>
2732 <span class="entry_type_enum_notes">AE has a good set of control values for the
2733 current scene</span>
2734 </li>
2735 <li>
2736 <span class="entry_type_enum_name">LOCKED</span>
2737 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2738 LOCKED)</span>
2739 </li>
2740 <li>
2741 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2742 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2743 needs to be fired for good quality still
2744 capture</span>
2745 </li>
2746 <li>
2747 <span class="entry_type_enum_name">PRECAPTURE</span>
2748 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2749 (through the
2750 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2751 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2752 completes,<wbr> AE will transition to CONVERGED or
2753 FLASH_<wbr>REQUIRED as appropriate</span>
2754 </li>
2755 </ul>
2756
2757 </td> <!-- entry_type -->
2758
2759 <td class="entry_description">
2760 Current state of AE algorithm
2761 </td>
2762
2763 <td class="entry_units">
2764 </td>
2765
2766 <td class="entry_range">
2767 </td>
2768
2769 <td class="entry_notes">
2770 Whenever the AE algorithm state changes,<wbr> a
2771 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2772 notification callback is registered.<wbr>
2773 </td>
2774
2775 <td class="entry_tags">
2776 </td>
2777
2778 </tr> <!-- end of entry -->
2779
2780
2781 <tr class="entry" id="dynamic_android.control.afMode">
2782 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2783 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002784 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002785
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002787
2788 <ul class="entry_type_enum">
2789 <li>
2790 <span class="entry_type_enum_name">OFF</span>
2791 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002792 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002793 application</span>
2794 </li>
2795 <li>
2796 <span class="entry_type_enum_name">AUTO</span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002797 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr>
2798
2799 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2800 is fixed focus In this mode,<wbr> the lens does not move unless
2801 the autofocus trigger action is called.<wbr> When that trigger
2802 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2803 the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr>
2805
2806 Triggering cancel AF resets the lens position to default,<wbr>
2807 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002808 </li>
2809 <li>
2810 <span class="entry_type_enum_name">MACRO</span>
2811 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002812 autofocus trigger action is called.<wbr>
2813
2814 When that trigger is activated,<wbr> AF must transition to
2815 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2816 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2817 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002818 INACTIVE.<wbr></span>
2819 </li>
2820 <li>
2821 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2822 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2823 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002824 constantly-in-focus image stream.<wbr>
2825
2826 The focusing behavior should be suitable for good quality
2827 video recording; typically this means slower focus
2828 movement and no overshoots.<wbr> When the AF trigger is not
2829 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2830 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2831 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2832 the algorithm should immediately transition into
2833 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2834 lens position until a cancel AF trigger is received.<wbr>
2835
2836 Once cancel is received,<wbr> the algorithm should transition
2837 back to INACTIVE and resume passive scan.<wbr> Note that this
2838 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2839 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002840 canceled.<wbr></span>
2841 </li>
2842 <li>
2843 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2844 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2845 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002846 constantly-in-focus image stream.<wbr>
2847
2848 The focusing behavior should be suitable for still image
2849 capture; typically this means focusing as fast as
2850 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2851 algorithm should start in INACTIVE state,<wbr> and then
2852 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2853 appropriate as it attempts to maintain focus.<wbr> When the AF
2854 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002855 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002856 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2857 lens position until a cancel AF trigger is received.<wbr>
2858
2859 When the AF cancel trigger is activated,<wbr> the algorithm
2860 should transition back to INACTIVE and then act as if it
2861 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002862 </li>
2863 <li>
2864 <span class="entry_type_enum_name">EDOF</span>
2865 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2866 trigger is ignored,<wbr> AF state should always be
2867 INACTIVE.<wbr></span>
2868 </li>
2869 </ul>
2870
2871 </td> <!-- entry_type -->
2872
2873 <td class="entry_description">
2874 Whether AF is currently enabled,<wbr> and what
2875 mode it is set to
2876 </td>
2877
2878 <td class="entry_units">
2879 </td>
2880
2881 <td class="entry_range">
2882 </td>
2883
2884 <td class="entry_notes">
2885 </td>
2886
2887 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002888 <ul class="entry_tags">
2889 <li><a href="#tag_BC">BC</a></li>
2890 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002891 </td>
2892
2893 </tr> <!-- end of entry -->
2894
2895
2896 <tr class="entry" id="dynamic_android.control.afRegions">
2897 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002900 <span class="entry_type_container">x</span>
2901
2902 <span class="entry_type_array">
2903 5 x area_count
2904 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002906
2907
2908 </td> <!-- entry_type -->
2909
2910 <td class="entry_description">
2911 List of areas to use for focus
2912 estimation
2913 </td>
2914
2915 <td class="entry_units">
2916 </td>
2917
2918 <td class="entry_range">
2919 </td>
2920
2921 <td class="entry_notes">
2922 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002923 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2924 specified coordinates.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002925<br>
2926<br> The coordinate system is based on the active pixel array,<wbr>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07002927 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2928 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2929 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2930 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002931 should be nonnegative.<wbr>
2932<br>
2933<br> If all regions have 0 weight,<wbr> then no specific focus area
2934 needs to be used by the HAL.<wbr> If the focusing region is
2935 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2936 should ignore the sections outside the region and output the
2937 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002938 </td>
2939
2940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002941 <ul class="entry_tags">
2942 <li><a href="#tag_BC">BC</a></li>
2943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002944 </td>
2945
2946 </tr> <!-- end of entry -->
2947
2948
2949 <tr class="entry" id="dynamic_android.control.afState">
2950 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2951 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002952 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002953
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002954 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002955
2956 <ul class="entry_type_enum">
2957 <li>
2958 <span class="entry_type_enum_name">INACTIVE</span>
2959 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002960 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2961 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002962 </li>
2963 <li>
2964 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002965 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002966 currently doing an AF scan initiated by a continuous
2967 autofocus mode</span>
2968 </li>
2969 <li>
2970 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002971 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002972 believes it is in focus,<wbr> but may restart scanning at
2973 any time.<wbr></span>
2974 </li>
2975 <li>
2976 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002977 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002978 an AF scan because it was triggered by AF
2979 trigger</span>
2980 </li>
2981 <li>
2982 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002983 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002984 believes it is focused correctly and is
2985 locked</span>
2986 </li>
2987 <li>
2988 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002989 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002990 failed to focus successfully and is
2991 locked</span>
2992 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002993 <li>
2994 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
2995 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a
2996 passive scan without finding focus,<wbr> and may restart
2997 scanning at any time.<wbr></span>
2998 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002999 </ul>
3000
3001 </td> <!-- entry_type -->
3002
3003 <td class="entry_description">
3004 Current state of AF algorithm
3005 </td>
3006
3007 <td class="entry_units">
3008 </td>
3009
3010 <td class="entry_range">
3011 </td>
3012
3013 <td class="entry_notes">
3014 Whenever the AF algorithm state changes,<wbr> a
3015 MSG_<wbr>AUTOFOCUS notification must be send if a notification
3016 callback is registered.<wbr>
3017 </td>
3018
3019 <td class="entry_tags">
3020 </td>
3021
3022 </tr> <!-- end of entry -->
3023
3024
3025 <tr class="entry" id="dynamic_android.control.afTriggerId">
3026 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003028 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003030 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003031
3032
3033 </td> <!-- entry_type -->
3034
3035 <td class="entry_description">
3036 The ID sent with the latest
3037 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
3038 </td>
3039
3040 <td class="entry_units">
3041 </td>
3042
3043 <td class="entry_range">
3044 </td>
3045
3046 <td class="entry_notes">
3047 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3048 received yet by HAL.<wbr> Always updated even if AF algorithm
3049 ignores the trigger
3050 </td>
3051
3052 <td class="entry_tags">
3053 </td>
3054
3055 </tr> <!-- end of entry -->
3056
3057
3058 <tr class="entry" id="dynamic_android.control.awbMode">
3059 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3060 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003061 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003062
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003063 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003064
3065 <ul class="entry_type_enum">
3066 <li>
3067 <span class="entry_type_enum_name">OFF</span>
3068 </li>
3069 <li>
3070 <span class="entry_type_enum_name">AUTO</span>
3071 </li>
3072 <li>
3073 <span class="entry_type_enum_name">INCANDESCENT</span>
3074 </li>
3075 <li>
3076 <span class="entry_type_enum_name">FLUORESCENT</span>
3077 </li>
3078 <li>
3079 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3080 </li>
3081 <li>
3082 <span class="entry_type_enum_name">DAYLIGHT</span>
3083 </li>
3084 <li>
3085 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3086 </li>
3087 <li>
3088 <span class="entry_type_enum_name">TWILIGHT</span>
3089 </li>
3090 <li>
3091 <span class="entry_type_enum_name">SHADE</span>
3092 </li>
3093 </ul>
3094
3095 </td> <!-- entry_type -->
3096
3097 <td class="entry_description">
3098 Whether AWB is currently setting the color
3099 transform fields,<wbr> and what its illumination target
3100 is
3101 </td>
3102
3103 <td class="entry_units">
3104 </td>
3105
3106 <td class="entry_range">
3107 </td>
3108
3109 <td class="entry_notes">
3110 [BC - AWB lock,<wbr>AWB modes]
3111 </td>
3112
3113 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003114 <ul class="entry_tags">
3115 <li><a href="#tag_BC">BC</a></li>
3116 <li><a href="#tag_AWB">AWB</a></li>
3117 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003118 </td>
3119
3120 </tr> <!-- end of entry -->
3121
3122
3123 <tr class="entry" id="dynamic_android.control.awbRegions">
3124 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003127 <span class="entry_type_container">x</span>
3128
3129 <span class="entry_type_array">
3130 5 x area_count
3131 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003133
3134
3135 </td> <!-- entry_type -->
3136
3137 <td class="entry_description">
3138 List of areas to use for illuminant
3139 estimation
3140 </td>
3141
3142 <td class="entry_units">
3143 </td>
3144
3145 <td class="entry_range">
3146 </td>
3147
3148 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003149 Only used in AUTO mode.<wbr>
3150<br>
Timothy Knightfd4cc6d2013-09-03 17:21:45 -07003151<br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3152 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3153 specified coordinates.<wbr>
3154<br>
3155<br> The coordinate system is based on the active pixel array,<wbr>
3156 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3157 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3158 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3159 bottom-right pixel in the active pixel array.<wbr> The weight
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003160 should be nonnegative.<wbr>
3161<br>
3162<br> If all regions have 0 weight,<wbr> then no specific metering area
3163 needs to be used by the HAL.<wbr> If the metering region is
3164 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3165 should ignore the sections outside the region and output the
3166 used sections in the frame metadata
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167 </td>
3168
3169 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003170 <ul class="entry_tags">
3171 <li><a href="#tag_BC">BC</a></li>
3172 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173 </td>
3174
3175 </tr> <!-- end of entry -->
3176
3177
3178 <tr class="entry" id="dynamic_android.control.awbState">
3179 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003181 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003183 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003184
3185 <ul class="entry_type_enum">
3186 <li>
3187 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003188 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3189 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003190 </li>
3191 <li>
3192 <span class="entry_type_enum_name">SEARCHING</span>
3193 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3194 values for the current scene</span>
3195 </li>
3196 <li>
3197 <span class="entry_type_enum_name">CONVERGED</span>
3198 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3199 current scene</span>
3200 </li>
3201 <li>
3202 <span class="entry_type_enum_name">LOCKED</span>
3203 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3204 LOCKED)</span>
3205 </li>
3206 </ul>
3207
3208 </td> <!-- entry_type -->
3209
3210 <td class="entry_description">
3211 Current state of AWB algorithm
3212 </td>
3213
3214 <td class="entry_units">
3215 </td>
3216
3217 <td class="entry_range">
3218 </td>
3219
3220 <td class="entry_notes">
3221 Whenever the AWB algorithm state changes,<wbr> a
3222 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3223 notification callback is registered.<wbr>
3224 </td>
3225
3226 <td class="entry_tags">
3227 </td>
3228
3229 </tr> <!-- end of entry -->
3230
3231
3232 <tr class="entry" id="dynamic_android.control.mode">
3233 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3234 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003235 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003236
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003237 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003238
3239 <ul class="entry_type_enum">
3240 <li>
3241 <span class="entry_type_enum_name">OFF</span>
3242 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3243 routines are disabled,<wbr> no other settings in
3244 android.<wbr>control.<wbr>* have any effect</span>
3245 </li>
3246 <li>
3247 <span class="entry_type_enum_name">AUTO</span>
3248 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3249 Manual control of capture parameters is disabled.<wbr> All
3250 controls in android.<wbr>control.<wbr>* besides sceneMode take
3251 effect</span>
3252 </li>
3253 <li>
3254 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3255 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3256 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3257 controls; the HAL must ignore those settings while
3258 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3259 scene mode).<wbr> Other control entries are still active.<wbr>
3260 This setting can only be used if availableSceneModes !=
3261 UNSUPPORTED</span>
3262 </li>
3263 </ul>
3264
3265 </td> <!-- entry_type -->
3266
3267 <td class="entry_description">
3268 Overall mode of 3A control
3269 routines
3270 </td>
3271
3272 <td class="entry_units">
3273 </td>
3274
3275 <td class="entry_range">
3276 all must be supported
3277 </td>
3278
3279 <td class="entry_notes">
3280 </td>
3281
3282 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003283 <ul class="entry_tags">
3284 <li><a href="#tag_BC">BC</a></li>
3285 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003286 </td>
3287
3288 </tr> <!-- end of entry -->
3289
3290
3291
3292 <!-- end of kind -->
3293 </tbody>
3294
3295 <!-- end of section -->
3296 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3297
3298
3299 <tr><td colspan="7" class="kind">controls</td></tr>
3300
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003301 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003302 <tr>
3303 <th class="th_name">Property Name</th>
3304 <th class="th_type">Type</th>
3305 <th class="th_description">Description</th>
3306 <th class="th_units">Units</th>
3307 <th class="th_range">Range</th>
3308 <th class="th_notes">Notes</th>
3309 <th class="th_tags">Tags</th>
3310 </tr>
3311 </thead>
3312
3313 <tbody>
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324 <tr class="entry" id="controls_android.demosaic.mode">
3325 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003327 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003328
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003329 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003330
3331 <ul class="entry_type_enum">
3332 <li>
3333 <span class="entry_type_enum_name">FAST</span>
3334 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3335 Bayer RAW output</span>
3336 </li>
3337 <li>
3338 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3339 <span class="entry_type_enum_notes">High-quality may reduce output frame
3340 rate</span>
3341 </li>
3342 </ul>
3343
3344 </td> <!-- entry_type -->
3345
3346 <td class="entry_description">
3347 Controls the quality of the demosaicing
3348 processing
3349 </td>
3350
3351 <td class="entry_units">
3352 </td>
3353
3354 <td class="entry_range">
3355 </td>
3356
3357 <td class="entry_notes">
3358 </td>
3359
3360 <td class="entry_tags">
3361 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003362 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003363 </ul>
3364 </td>
3365
3366 </tr> <!-- end of entry -->
3367
3368
3369
3370 <!-- end of kind -->
3371 </tbody>
3372
3373 <!-- end of section -->
3374 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3375
3376
3377 <tr><td colspan="7" class="kind">controls</td></tr>
3378
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003379 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003380 <tr>
3381 <th class="th_name">Property Name</th>
3382 <th class="th_type">Type</th>
3383 <th class="th_description">Description</th>
3384 <th class="th_units">Units</th>
3385 <th class="th_range">Range</th>
3386 <th class="th_notes">Notes</th>
3387 <th class="th_tags">Tags</th>
3388 </tr>
3389 </thead>
3390
3391 <tbody>
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402 <tr class="entry" id="controls_android.edge.mode">
3403 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3404 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003405 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003406
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003407 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003408
3409 <ul class="entry_type_enum">
3410 <li>
3411 <span class="entry_type_enum_name">OFF</span>
3412 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3413 </li>
3414 <li>
3415 <span class="entry_type_enum_name">FAST</span>
3416 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3417 bayer output</span>
3418 </li>
3419 <li>
3420 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3421 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3422 quality</span>
3423 </li>
3424 </ul>
3425
3426 </td> <!-- entry_type -->
3427
3428 <td class="entry_description">
3429 Operation mode for edge
3430 enhancement
3431 </td>
3432
3433 <td class="entry_units">
3434 </td>
3435
3436 <td class="entry_range">
3437 </td>
3438
3439 <td class="entry_notes">
3440 </td>
3441
3442 <td class="entry_tags">
3443 </td>
3444
3445 </tr> <!-- end of entry -->
3446
3447
3448 <tr class="entry" id="controls_android.edge.strength">
3449 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3450 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003451 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003452
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003453 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003454
3455
3456 </td> <!-- entry_type -->
3457
3458 <td class="entry_description">
3459 Control the amount of edge enhancement
3460 applied to the images
3461 </td>
3462
3463 <td class="entry_units">
3464 1-10; 10 is maximum sharpening
3465 </td>
3466
3467 <td class="entry_range">
3468 </td>
3469
3470 <td class="entry_notes">
3471 </td>
3472
3473 <td class="entry_tags">
3474 </td>
3475
3476 </tr> <!-- end of entry -->
3477
3478
3479
3480 <!-- end of kind -->
3481 </tbody>
3482 <tr><td colspan="7" class="kind">dynamic</td></tr>
3483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003484 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003485 <tr>
3486 <th class="th_name">Property Name</th>
3487 <th class="th_type">Type</th>
3488 <th class="th_description">Description</th>
3489 <th class="th_units">Units</th>
3490 <th class="th_range">Range</th>
3491 <th class="th_notes">Notes</th>
3492 <th class="th_tags">Tags</th>
3493 </tr>
3494 </thead>
3495
3496 <tbody>
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507 <tr class="entry" id="dynamic_android.edge.mode">
3508 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3509 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003510 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003512 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003513
3514 <ul class="entry_type_enum">
3515 <li>
3516 <span class="entry_type_enum_name">OFF</span>
3517 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3518 </li>
3519 <li>
3520 <span class="entry_type_enum_name">FAST</span>
3521 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3522 bayer output</span>
3523 </li>
3524 <li>
3525 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3526 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3527 quality</span>
3528 </li>
3529 </ul>
3530
3531 </td> <!-- entry_type -->
3532
3533 <td class="entry_description">
3534 Operation mode for edge
3535 enhancement
3536 </td>
3537
3538 <td class="entry_units">
3539 </td>
3540
3541 <td class="entry_range">
3542 </td>
3543
3544 <td class="entry_notes">
3545 </td>
3546
3547 <td class="entry_tags">
3548 </td>
3549
3550 </tr> <!-- end of entry -->
3551
3552
3553
3554 <!-- end of kind -->
3555 </tbody>
3556
3557 <!-- end of section -->
3558 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3559
3560
3561 <tr><td colspan="7" class="kind">controls</td></tr>
3562
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003563 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003564 <tr>
3565 <th class="th_name">Property Name</th>
3566 <th class="th_type">Type</th>
3567 <th class="th_description">Description</th>
3568 <th class="th_units">Units</th>
3569 <th class="th_range">Range</th>
3570 <th class="th_notes">Notes</th>
3571 <th class="th_tags">Tags</th>
3572 </tr>
3573 </thead>
3574
3575 <tbody>
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586 <tr class="entry" id="controls_android.flash.firingPower">
3587 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003589 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003590
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003591 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003592
3593
3594 </td> <!-- entry_type -->
3595
3596 <td class="entry_description">
3597 Power for flash firing/<wbr>torch
3598 </td>
3599
3600 <td class="entry_units">
3601 10 is max power; 0 is no flash.<wbr> Linear
3602 </td>
3603
3604 <td class="entry_range">
3605 0 - 10
3606 </td>
3607
3608 <td class="entry_notes">
3609 Power for snapshot may use a different scale than
3610 for torch mode.<wbr> Only one entry for torch mode will be
3611 used
3612 </td>
3613
3614 <td class="entry_tags">
3615 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003616 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003617 </ul>
3618 </td>
3619
3620 </tr> <!-- end of entry -->
3621
3622
3623 <tr class="entry" id="controls_android.flash.firingTime">
3624 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3625 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003626 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003627
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003628 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003629
3630
3631 </td> <!-- entry_type -->
3632
3633 <td class="entry_description">
3634 Firing time of flash relative to start of
3635 exposure
3636 </td>
3637
3638 <td class="entry_units">
3639 nanoseconds
3640 </td>
3641
3642 <td class="entry_range">
3643 0-(exposure time-flash duration)
3644 </td>
3645
3646 <td class="entry_notes">
3647 Clamped to (0,<wbr> exposure time - flash
3648 duration).<wbr>
3649 </td>
3650
3651 <td class="entry_tags">
3652 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003653 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003654 </ul>
3655 </td>
3656
3657 </tr> <!-- end of entry -->
3658
3659
3660 <tr class="entry" id="controls_android.flash.mode">
3661 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3662 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003663 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003664
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003665 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003666
3667 <ul class="entry_type_enum">
3668 <li>
3669 <span class="entry_type_enum_name">OFF</span>
3670 <span class="entry_type_enum_notes">Do not fire the flash for this
3671 capture</span>
3672 </li>
3673 <li>
3674 <span class="entry_type_enum_name">SINGLE</span>
3675 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3676 for this capture based on firingPower,<wbr>
3677 firingTime.<wbr></span>
3678 </li>
3679 <li>
3680 <span class="entry_type_enum_name">TORCH</span>
3681 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3682 continuously on,<wbr> power set by
3683 firingPower</span>
3684 </li>
3685 </ul>
3686
3687 </td> <!-- entry_type -->
3688
3689 <td class="entry_description">
3690 Select flash operation mode
3691 </td>
3692
3693 <td class="entry_units">
3694 </td>
3695
3696 <td class="entry_range">
3697 </td>
3698
3699 <td class="entry_notes">
3700 </td>
3701
3702 <td class="entry_tags">
3703 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003704 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003705 </ul>
3706 </td>
3707
3708 </tr> <!-- end of entry -->
3709
3710
3711
3712 <!-- end of kind -->
3713 </tbody>
3714 <tr><td colspan="7" class="kind">static</td></tr>
3715
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003716 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003717 <tr>
3718 <th class="th_name">Property Name</th>
3719 <th class="th_type">Type</th>
3720 <th class="th_description">Description</th>
3721 <th class="th_units">Units</th>
3722 <th class="th_range">Range</th>
3723 <th class="th_notes">Notes</th>
3724 <th class="th_tags">Tags</th>
3725 </tr>
3726 </thead>
3727
3728 <tbody>
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741 <tr class="entry" id="static_android.flash.info.available">
3742 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3743 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003744 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003745
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003746 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003747
3748
3749 </td> <!-- entry_type -->
3750
3751 <td class="entry_description">
3752 Whether this camera has a
3753 flash
3754 </td>
3755
3756 <td class="entry_units">
3757 boolean (0 = false,<wbr> otherwise true)
3758 </td>
3759
3760 <td class="entry_range">
3761 </td>
3762
3763 <td class="entry_notes">
3764 If no flash,<wbr> none of the flash controls do
3765 anything.<wbr> All other metadata should return 0
3766 </td>
3767
3768 <td class="entry_tags">
3769 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003770 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003771 </ul>
3772 </td>
3773
3774 </tr> <!-- end of entry -->
3775
3776
3777 <tr class="entry" id="static_android.flash.info.chargeDuration">
3778 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3779 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003780 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003781
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003782 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003783
3784
3785 </td> <!-- entry_type -->
3786
3787 <td class="entry_description">
3788 Time taken before flash can fire
3789 again
3790 </td>
3791
3792 <td class="entry_units">
3793 nanoseconds
3794 </td>
3795
3796 <td class="entry_range">
3797 0-1e9
3798 </td>
3799
3800 <td class="entry_notes">
3801 1 second too long/<wbr>too short for recharge? Should
3802 this be power-dependent?
3803 </td>
3804
3805 <td class="entry_tags">
3806 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003807 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003808 </ul>
3809 </td>
3810
3811 </tr> <!-- end of entry -->
3812
3813
3814
3815
3816
3817 <tr class="entry" id="static_android.flash.colorTemperature">
3818 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003820 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003821
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003822 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003823
3824
3825 </td> <!-- entry_type -->
3826
3827 <td class="entry_description">
3828 The x,<wbr>y whitepoint of the
3829 flash
3830 </td>
3831
3832 <td class="entry_units">
3833 pair of floats
3834 </td>
3835
3836 <td class="entry_range">
3837 0-1 for both
3838 </td>
3839
3840 <td class="entry_notes">
3841 </td>
3842
3843 <td class="entry_tags">
3844 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003845 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003846 </ul>
3847 </td>
3848
3849 </tr> <!-- end of entry -->
3850
3851
3852 <tr class="entry" id="static_android.flash.maxEnergy">
3853 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003855 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003856
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003857 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003858
3859
3860 </td> <!-- entry_type -->
3861
3862 <td class="entry_description">
3863 Max energy output of the flash for a full
3864 power single flash
3865 </td>
3866
3867 <td class="entry_units">
3868 lumen-seconds
3869 </td>
3870
3871 <td class="entry_range">
3872 >= 0
3873 </td>
3874
3875 <td class="entry_notes">
3876 </td>
3877
3878 <td class="entry_tags">
3879 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003880 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003881 </ul>
3882 </td>
3883
3884 </tr> <!-- end of entry -->
3885
3886
3887
3888 <!-- end of kind -->
3889 </tbody>
3890 <tr><td colspan="7" class="kind">dynamic</td></tr>
3891
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003892 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003893 <tr>
3894 <th class="th_name">Property Name</th>
3895 <th class="th_type">Type</th>
3896 <th class="th_description">Description</th>
3897 <th class="th_units">Units</th>
3898 <th class="th_range">Range</th>
3899 <th class="th_notes">Notes</th>
3900 <th class="th_tags">Tags</th>
3901 </tr>
3902 </thead>
3903
3904 <tbody>
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915 <tr class="entry" id="dynamic_android.flash.firingPower">
3916 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3917 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003918 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003919
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003920 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003921
3922
3923 </td> <!-- entry_type -->
3924
3925 <td class="entry_description">
3926 Power for flash firing/<wbr>torch
3927 </td>
3928
3929 <td class="entry_units">
3930 10 is max power; 0 is no flash.<wbr> Linear
3931 </td>
3932
3933 <td class="entry_range">
3934 0 - 10
3935 </td>
3936
3937 <td class="entry_notes">
3938 Power for snapshot may use a different scale than
3939 for torch mode.<wbr> Only one entry for torch mode will be
3940 used
3941 </td>
3942
3943 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003944 <ul class="entry_tags">
3945 <li><a href="#tag_V1">V1</a></li>
3946 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003947 </td>
3948
3949 </tr> <!-- end of entry -->
3950
3951
3952 <tr class="entry" id="dynamic_android.flash.firingTime">
3953 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3954 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003955 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003956
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003957 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003958
3959
3960 </td> <!-- entry_type -->
3961
3962 <td class="entry_description">
3963 Firing time of flash relative to start of
3964 exposure
3965 </td>
3966
3967 <td class="entry_units">
3968 nanoseconds
3969 </td>
3970
3971 <td class="entry_range">
3972 0-(exposure time-flash duration)
3973 </td>
3974
3975 <td class="entry_notes">
3976 Clamped to (0,<wbr> exposure time - flash
3977 duration).<wbr>
3978 </td>
3979
3980 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003981 <ul class="entry_tags">
3982 <li><a href="#tag_V1">V1</a></li>
3983 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003984 </td>
3985
3986 </tr> <!-- end of entry -->
3987
3988
3989 <tr class="entry" id="dynamic_android.flash.mode">
3990 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003992 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003993
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003994 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003995
3996 <ul class="entry_type_enum">
3997 <li>
3998 <span class="entry_type_enum_name">OFF</span>
3999 <span class="entry_type_enum_notes">Do not fire the flash for this
4000 capture</span>
4001 </li>
4002 <li>
4003 <span class="entry_type_enum_name">SINGLE</span>
4004 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
4005 for this capture based on firingPower,<wbr>
4006 firingTime.<wbr></span>
4007 </li>
4008 <li>
4009 <span class="entry_type_enum_name">TORCH</span>
4010 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
4011 continuously on,<wbr> power set by
4012 firingPower</span>
4013 </li>
4014 </ul>
4015
4016 </td> <!-- entry_type -->
4017
4018 <td class="entry_description">
4019 Select flash operation mode
4020 </td>
4021
4022 <td class="entry_units">
4023 </td>
4024
4025 <td class="entry_range">
4026 </td>
4027
4028 <td class="entry_notes">
4029 </td>
4030
4031 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004032 <ul class="entry_tags">
4033 <li><a href="#tag_BC">BC</a></li>
4034 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004035 </td>
4036
4037 </tr> <!-- end of entry -->
4038
4039
4040 <tr class="entry" id="dynamic_android.flash.state">
4041 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4042 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004043 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004044
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004045 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004046
4047 <ul class="entry_type_enum">
4048 <li>
4049 <span class="entry_type_enum_name">UNAVAILABLE</span>
4050 <span class="entry_type_enum_notes">No flash on camera</span>
4051 </li>
4052 <li>
4053 <span class="entry_type_enum_name">CHARGING</span>
4054 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4055 charging and cannot be fired</span>
4056 </li>
4057 <li>
4058 <span class="entry_type_enum_name">READY</span>
4059 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4060 ready to fire</span>
4061 </li>
4062 <li>
4063 <span class="entry_type_enum_name">FIRED</span>
4064 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4065 for this capture</span>
4066 </li>
4067 </ul>
4068
4069 </td> <!-- entry_type -->
4070
4071 <td class="entry_description">
4072 Current state of the flash
4073 unit
4074 </td>
4075
4076 <td class="entry_units">
4077 </td>
4078
4079 <td class="entry_range">
4080 </td>
4081
4082 <td class="entry_notes">
4083 </td>
4084
4085 <td class="entry_tags">
4086 </td>
4087
4088 </tr> <!-- end of entry -->
4089
4090
4091
4092 <!-- end of kind -->
4093 </tbody>
4094
4095 <!-- end of section -->
4096 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4097
4098
4099 <tr><td colspan="7" class="kind">controls</td></tr>
4100
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004101 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004102 <tr>
4103 <th class="th_name">Property Name</th>
4104 <th class="th_type">Type</th>
4105 <th class="th_description">Description</th>
4106 <th class="th_units">Units</th>
4107 <th class="th_range">Range</th>
4108 <th class="th_notes">Notes</th>
4109 <th class="th_tags">Tags</th>
4110 </tr>
4111 </thead>
4112
4113 <tbody>
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124 <tr class="entry" id="controls_android.geometric.mode">
4125 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004127 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004129 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004130
4131 <ul class="entry_type_enum">
4132 <li>
4133 <span class="entry_type_enum_name">OFF</span>
4134 <span class="entry_type_enum_notes">No geometric correction is
4135 applied</span>
4136 </li>
4137 <li>
4138 <span class="entry_type_enum_name">FAST</span>
4139 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4140 bayer output</span>
4141 </li>
4142 <li>
4143 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4144 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4145 quality</span>
4146 </li>
4147 </ul>
4148
4149 </td> <!-- entry_type -->
4150
4151 <td class="entry_description">
4152 Operating mode of geometric
4153 correction
4154 </td>
4155
4156 <td class="entry_units">
4157 </td>
4158
4159 <td class="entry_range">
4160 </td>
4161
4162 <td class="entry_notes">
4163 </td>
4164
4165 <td class="entry_tags">
4166 </td>
4167
4168 </tr> <!-- end of entry -->
4169
4170
4171 <tr class="entry" id="controls_android.geometric.strength">
4172 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4173 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004174 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004175
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004176 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004177
4178
4179 </td> <!-- entry_type -->
4180
4181 <td class="entry_description">
4182 Control the amount of shading correction
4183 applied to the images
4184 </td>
4185
4186 <td class="entry_units">
4187 unitless: 1-10; 10 is full shading
4188 compensation
4189 </td>
4190
4191 <td class="entry_range">
4192 </td>
4193
4194 <td class="entry_notes">
4195 </td>
4196
4197 <td class="entry_tags">
4198 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004199 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004200 </ul>
4201 </td>
4202
4203 </tr> <!-- end of entry -->
4204
4205
4206
4207 <!-- end of kind -->
4208 </tbody>
4209
4210 <!-- end of section -->
4211 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4212
4213
4214 <tr><td colspan="7" class="kind">controls</td></tr>
4215
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004216 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 <tr>
4218 <th class="th_name">Property Name</th>
4219 <th class="th_type">Type</th>
4220 <th class="th_description">Description</th>
4221 <th class="th_units">Units</th>
4222 <th class="th_range">Range</th>
4223 <th class="th_notes">Notes</th>
4224 <th class="th_tags">Tags</th>
4225 </tr>
4226 </thead>
4227
4228 <tbody>
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239 <tr class="entry" id="controls_android.hotPixel.mode">
4240 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4241 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004242 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004243
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004244 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004245
4246 <ul class="entry_type_enum">
4247 <li>
4248 <span class="entry_type_enum_name">OFF</span>
4249 <span class="entry_type_enum_notes">No hot pixel correction can be
4250 applied</span>
4251 </li>
4252 <li>
4253 <span class="entry_type_enum_name">FAST</span>
4254 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4255 Bayer output</span>
4256 </li>
4257 <li>
4258 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4259 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4260 quality</span>
4261 </li>
4262 </ul>
4263
4264 </td> <!-- entry_type -->
4265
4266 <td class="entry_description">
4267 Set operational mode for hot pixel
4268 correction
4269 </td>
4270
4271 <td class="entry_units">
4272 </td>
4273
4274 <td class="entry_range">
4275 </td>
4276
4277 <td class="entry_notes">
4278 </td>
4279
4280 <td class="entry_tags">
4281 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004282 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004283 </ul>
4284 </td>
4285
4286 </tr> <!-- end of entry -->
4287
4288
4289
4290 <!-- end of kind -->
4291 </tbody>
4292 <tr><td colspan="7" class="kind">static</td></tr>
4293
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004294 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004295 <tr>
4296 <th class="th_name">Property Name</th>
4297 <th class="th_type">Type</th>
4298 <th class="th_description">Description</th>
4299 <th class="th_units">Units</th>
4300 <th class="th_range">Range</th>
4301 <th class="th_notes">Notes</th>
4302 <th class="th_tags">Tags</th>
4303 </tr>
4304 </thead>
4305
4306 <tbody>
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319 <tr class="entry" id="static_android.hotPixel.info.map">
4320 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4321 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004322 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 <span class="entry_type_container">x</span>
4324
4325 <span class="entry_type_array">
4326 2 x n
4327 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004328 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004329 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4330
4331
4332 </td> <!-- entry_type -->
4333
4334 <td class="entry_description">
4335 Location of hot/<wbr>defective pixels on
4336 sensor
4337 </td>
4338
4339 <td class="entry_units">
4340 </td>
4341
4342 <td class="entry_range">
4343 </td>
4344
4345 <td class="entry_notes">
4346 </td>
4347
4348 <td class="entry_tags">
4349 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004350 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004351 </ul>
4352 </td>
4353
4354 </tr> <!-- end of entry -->
4355
4356
4357
4358
4359
4360
4361 <!-- end of kind -->
4362 </tbody>
4363 <tr><td colspan="7" class="kind">dynamic</td></tr>
4364
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004365 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004366 <tr>
4367 <th class="th_name">Property Name</th>
4368 <th class="th_type">Type</th>
4369 <th class="th_description">Description</th>
4370 <th class="th_units">Units</th>
4371 <th class="th_range">Range</th>
4372 <th class="th_notes">Notes</th>
4373 <th class="th_tags">Tags</th>
4374 </tr>
4375 </thead>
4376
4377 <tbody>
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388 <tr class="entry" id="dynamic_android.hotPixel.mode">
4389 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004391 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004393 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004394
4395 <ul class="entry_type_enum">
4396 <li>
4397 <span class="entry_type_enum_name">OFF</span>
4398 <span class="entry_type_enum_notes">No hot pixel correction can be
4399 applied</span>
4400 </li>
4401 <li>
4402 <span class="entry_type_enum_name">FAST</span>
4403 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4404 Bayer output</span>
4405 </li>
4406 <li>
4407 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4408 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4409 quality</span>
4410 </li>
4411 </ul>
4412
4413 </td> <!-- entry_type -->
4414
4415 <td class="entry_description">
4416 Set operational mode for hot pixel
4417 correction
4418 </td>
4419
4420 <td class="entry_units">
4421 </td>
4422
4423 <td class="entry_range">
4424 </td>
4425
4426 <td class="entry_notes">
4427 </td>
4428
4429 <td class="entry_tags">
4430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004431 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004432 </ul>
4433 </td>
4434
4435 </tr> <!-- end of entry -->
4436
4437
4438
4439 <!-- end of kind -->
4440 </tbody>
4441
4442 <!-- end of section -->
4443 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4444
4445
4446 <tr><td colspan="7" class="kind">controls</td></tr>
4447
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004448 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004449 <tr>
4450 <th class="th_name">Property Name</th>
4451 <th class="th_type">Type</th>
4452 <th class="th_description">Description</th>
4453 <th class="th_units">Units</th>
4454 <th class="th_range">Range</th>
4455 <th class="th_notes">Notes</th>
4456 <th class="th_tags">Tags</th>
4457 </tr>
4458 </thead>
4459
4460 <tbody>
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4472 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004474 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004475 <span class="entry_type_container">x</span>
4476
4477 <span class="entry_type_array">
4478 3
4479 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004480 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004481 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4482
4483
4484 </td> <!-- entry_type -->
4485
4486 <td class="entry_description">
4487 GPS coordinates to include in output JPEG
4488 EXIF
4489 </td>
4490
4491 <td class="entry_units">
4492 </td>
4493
4494 <td class="entry_range">
4495 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4496 </td>
4497
4498 <td class="entry_notes">
4499 </td>
4500
4501 <td class="entry_tags">
4502 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004503 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004504 </ul>
4505 </td>
4506
4507 </tr> <!-- end of entry -->
4508
4509
4510 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4511 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4512 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004513 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004514
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004515 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004516
4517
4518 </td> <!-- entry_type -->
4519
4520 <td class="entry_description">
4521 32 characters describing GPS algorithm to
4522 include in EXIF
4523 </td>
4524
4525 <td class="entry_units">
4526 UTF-8 null-terminated string
4527 </td>
4528
4529 <td class="entry_range">
4530 </td>
4531
4532 <td class="entry_notes">
4533 </td>
4534
4535 <td class="entry_tags">
4536 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004537 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004538 </ul>
4539 </td>
4540
4541 </tr> <!-- end of entry -->
4542
4543
4544 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4545 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4546 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004547 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004548
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004549 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004550
4551
4552 </td> <!-- entry_type -->
4553
4554 <td class="entry_description">
4555 Time GPS fix was made to include in
4556 EXIF
4557 </td>
4558
4559 <td class="entry_units">
4560 UTC in seconds since January 1,<wbr> 1970
4561 </td>
4562
4563 <td class="entry_range">
4564 </td>
4565
4566 <td class="entry_notes">
4567 </td>
4568
4569 <td class="entry_tags">
4570 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004571 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572 </ul>
4573 </td>
4574
4575 </tr> <!-- end of entry -->
4576
4577
4578 <tr class="entry" id="controls_android.jpeg.orientation">
4579 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4580 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004581 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004582
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004583 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004584
4585
4586 </td> <!-- entry_type -->
4587
4588 <td class="entry_description">
4589 Orientation of JPEG image to
4590 write
4591 </td>
4592
4593 <td class="entry_units">
4594 Degrees in multiples of 90
4595 </td>
4596
4597 <td class="entry_range">
4598 0,<wbr> 90,<wbr> 180,<wbr> 270
4599 </td>
4600
4601 <td class="entry_notes">
4602 </td>
4603
4604 <td class="entry_tags">
4605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004606 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004607 </ul>
4608 </td>
4609
4610 </tr> <!-- end of entry -->
4611
4612
4613 <tr class="entry" id="controls_android.jpeg.quality">
4614 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004616 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004617
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004618 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004619
4620
4621 </td> <!-- entry_type -->
4622
4623 <td class="entry_description">
4624 Compression quality of the final JPEG
4625 image
4626 </td>
4627
4628 <td class="entry_units">
4629 </td>
4630
4631 <td class="entry_range">
4632 1-100; larger is higher quality
4633 </td>
4634
4635 <td class="entry_notes">
4636 85-95 is typical usage range
4637 </td>
4638
4639 <td class="entry_tags">
4640 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004641 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004642 </ul>
4643 </td>
4644
4645 </tr> <!-- end of entry -->
4646
4647
4648 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4649 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004651 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004652
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004653 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004654
4655
4656 </td> <!-- entry_type -->
4657
4658 <td class="entry_description">
4659 Compression quality of JPEG
4660 thumbnail
4661 </td>
4662
4663 <td class="entry_units">
4664 </td>
4665
4666 <td class="entry_range">
4667 1-100; larger is higher quality
4668 </td>
4669
4670 <td class="entry_notes">
4671 </td>
4672
4673 <td class="entry_tags">
4674 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004675 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004676 </ul>
4677 </td>
4678
4679 </tr> <!-- end of entry -->
4680
4681
4682 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4683 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004685 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004686 <span class="entry_type_container">x</span>
4687
4688 <span class="entry_type_array">
4689 2
4690 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004691 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692
4693
4694 </td> <!-- entry_type -->
4695
4696 <td class="entry_description">
4697 Resolution of embedded JPEG
4698 thumbnail
4699 </td>
4700
4701 <td class="entry_units">
4702 </td>
4703
4704 <td class="entry_range">
4705 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4706 </td>
4707
4708 <td class="entry_notes">
4709 </td>
4710
4711 <td class="entry_tags">
4712 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004713 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004714 </ul>
4715 </td>
4716
4717 </tr> <!-- end of entry -->
4718
4719
4720
4721 <!-- end of kind -->
4722 </tbody>
4723 <tr><td colspan="7" class="kind">static</td></tr>
4724
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004725 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004726 <tr>
4727 <th class="th_name">Property Name</th>
4728 <th class="th_type">Type</th>
4729 <th class="th_description">Description</th>
4730 <th class="th_units">Units</th>
4731 <th class="th_range">Range</th>
4732 <th class="th_notes">Notes</th>
4733 <th class="th_tags">Tags</th>
4734 </tr>
4735 </thead>
4736
4737 <tbody>
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4749 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004751 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752 <span class="entry_type_container">x</span>
4753
4754 <span class="entry_type_array">
4755 2 x n
4756 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004757 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004758 <div class="entry_type_notes">list of resolution pairs</div>
4759
4760
4761 </td> <!-- entry_type -->
4762
4763 <td class="entry_description">
4764 Supported resolutions for the JPEG
4765 thumbnail
4766 </td>
4767
4768 <td class="entry_units">
4769 </td>
4770
4771 <td class="entry_range">
4772 Must include at least one valid resolution,<wbr> plus
4773 (0,<wbr>0) for no thumbnail generation
4774 </td>
4775
4776 <td class="entry_notes">
4777 </td>
4778
4779 <td class="entry_tags">
4780 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004781 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004782 </ul>
4783 </td>
4784
4785 </tr> <!-- end of entry -->
4786
4787
4788 <tr class="entry" id="static_android.jpeg.maxSize">
4789 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004791 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004792
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004793 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004794
4795
4796 </td> <!-- entry_type -->
4797
4798 <td class="entry_description">
4799 Maximum size in bytes for the compressed
4800 JPEG buffer
4801 </td>
4802
4803 <td class="entry_units">
4804 </td>
4805
4806 <td class="entry_range">
4807 Must be large enough to fit any JPEG produced by
4808 the camera
4809 </td>
4810
4811 <td class="entry_notes">
4812 This is used for sizing the gralloc buffers for
4813 JPEG
4814 </td>
4815
4816 <td class="entry_tags">
4817 </td>
4818
4819 </tr> <!-- end of entry -->
4820
4821
4822
4823 <!-- end of kind -->
4824 </tbody>
4825 <tr><td colspan="7" class="kind">dynamic</td></tr>
4826
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004827 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004828 <tr>
4829 <th class="th_name">Property Name</th>
4830 <th class="th_type">Type</th>
4831 <th class="th_description">Description</th>
4832 <th class="th_units">Units</th>
4833 <th class="th_range">Range</th>
4834 <th class="th_notes">Notes</th>
4835 <th class="th_tags">Tags</th>
4836 </tr>
4837 </thead>
4838
4839 <tbody>
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4851 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004853 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004854 <span class="entry_type_container">x</span>
4855
4856 <span class="entry_type_array">
4857 3
4858 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004859 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004860 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4861
4862
4863 </td> <!-- entry_type -->
4864
4865 <td class="entry_description">
4866 GPS coordinates to include in output JPEG
4867 EXIF
4868 </td>
4869
4870 <td class="entry_units">
4871 </td>
4872
4873 <td class="entry_range">
4874 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4875 </td>
4876
4877 <td class="entry_notes">
4878 </td>
4879
4880 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004881 <ul class="entry_tags">
4882 <li><a href="#tag_BC">BC</a></li>
4883 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004884 </td>
4885
4886 </tr> <!-- end of entry -->
4887
4888
4889 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4890 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4891 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004892 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004893
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004894 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004895
4896
4897 </td> <!-- entry_type -->
4898
4899 <td class="entry_description">
4900 32 characters describing GPS algorithm to
4901 include in EXIF
4902 </td>
4903
4904 <td class="entry_units">
4905 UTF-8 null-terminated string
4906 </td>
4907
4908 <td class="entry_range">
4909 </td>
4910
4911 <td class="entry_notes">
4912 </td>
4913
4914 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004915 <ul class="entry_tags">
4916 <li><a href="#tag_BC">BC</a></li>
4917 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004918 </td>
4919
4920 </tr> <!-- end of entry -->
4921
4922
4923 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4924 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4925 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004926 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004927
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004928 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004929
4930
4931 </td> <!-- entry_type -->
4932
4933 <td class="entry_description">
4934 Time GPS fix was made to include in
4935 EXIF
4936 </td>
4937
4938 <td class="entry_units">
4939 UTC in seconds since January 1,<wbr> 1970
4940 </td>
4941
4942 <td class="entry_range">
4943 </td>
4944
4945 <td class="entry_notes">
4946 </td>
4947
4948 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004949 <ul class="entry_tags">
4950 <li><a href="#tag_BC">BC</a></li>
4951 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004952 </td>
4953
4954 </tr> <!-- end of entry -->
4955
4956
4957 <tr class="entry" id="dynamic_android.jpeg.orientation">
4958 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004960 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004961
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004962 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004963
4964
4965 </td> <!-- entry_type -->
4966
4967 <td class="entry_description">
4968 Orientation of JPEG image to
4969 write
4970 </td>
4971
4972 <td class="entry_units">
4973 Degrees in multiples of 90
4974 </td>
4975
4976 <td class="entry_range">
4977 0,<wbr> 90,<wbr> 180,<wbr> 270
4978 </td>
4979
4980 <td class="entry_notes">
4981 </td>
4982
4983 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004984 <ul class="entry_tags">
4985 <li><a href="#tag_BC">BC</a></li>
4986 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004987 </td>
4988
4989 </tr> <!-- end of entry -->
4990
4991
4992 <tr class="entry" id="dynamic_android.jpeg.quality">
4993 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4994 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004995 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004996
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004997 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004998
4999
5000 </td> <!-- entry_type -->
5001
5002 <td class="entry_description">
5003 Compression quality of the final JPEG
5004 image
5005 </td>
5006
5007 <td class="entry_units">
5008 </td>
5009
5010 <td class="entry_range">
5011 1-100; larger is higher quality
5012 </td>
5013
5014 <td class="entry_notes">
5015 85-95 is typical usage range
5016 </td>
5017
5018 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005019 <ul class="entry_tags">
5020 <li><a href="#tag_BC">BC</a></li>
5021 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005022 </td>
5023
5024 </tr> <!-- end of entry -->
5025
5026
5027 <tr class="entry" id="dynamic_android.jpeg.size">
5028 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5029 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005030 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005032 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005033
5034
5035 </td> <!-- entry_type -->
5036
5037 <td class="entry_description">
5038 The size of the compressed JPEG image,<wbr> in
5039 bytes
5040 </td>
5041
5042 <td class="entry_units">
5043 </td>
5044
5045 <td class="entry_range">
5046 >= 0
5047 </td>
5048
5049 <td class="entry_notes">
5050 If no JPEG output is produced for the request,<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005051 this must be 0.<wbr>
5052<br>
5053<br> Otherwise,<wbr> this describes the real size of the compressed
5054 JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5055 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5056 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5057 the JPEG stream will be 1000000 bytes,<wbr> of which the first
5058 500000 make up the real data.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005059 </td>
5060
5061 <td class="entry_tags">
5062 </td>
5063
5064 </tr> <!-- end of entry -->
5065
5066
5067 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5068 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5069 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005070 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005071
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005072 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005073
5074
5075 </td> <!-- entry_type -->
5076
5077 <td class="entry_description">
5078 Compression quality of JPEG
5079 thumbnail
5080 </td>
5081
5082 <td class="entry_units">
5083 </td>
5084
5085 <td class="entry_range">
5086 1-100; larger is higher quality
5087 </td>
5088
5089 <td class="entry_notes">
5090 </td>
5091
5092 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005093 <ul class="entry_tags">
5094 <li><a href="#tag_BC">BC</a></li>
5095 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005096 </td>
5097
5098 </tr> <!-- end of entry -->
5099
5100
5101 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5102 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5103 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005104 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005105 <span class="entry_type_container">x</span>
5106
5107 <span class="entry_type_array">
5108 2
5109 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005110 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005111
5112
5113 </td> <!-- entry_type -->
5114
5115 <td class="entry_description">
5116 Resolution of embedded JPEG
5117 thumbnail
5118 </td>
5119
5120 <td class="entry_units">
5121 </td>
5122
5123 <td class="entry_range">
5124 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5125 </td>
5126
5127 <td class="entry_notes">
5128 </td>
5129
5130 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005131 <ul class="entry_tags">
5132 <li><a href="#tag_BC">BC</a></li>
5133 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 </td>
5135
5136 </tr> <!-- end of entry -->
5137
5138
5139
5140 <!-- end of kind -->
5141 </tbody>
5142
5143 <!-- end of section -->
5144 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5145
5146
5147 <tr><td colspan="7" class="kind">controls</td></tr>
5148
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005149 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005150 <tr>
5151 <th class="th_name">Property Name</th>
5152 <th class="th_type">Type</th>
5153 <th class="th_description">Description</th>
5154 <th class="th_units">Units</th>
5155 <th class="th_range">Range</th>
5156 <th class="th_notes">Notes</th>
5157 <th class="th_tags">Tags</th>
5158 </tr>
5159 </thead>
5160
5161 <tbody>
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172 <tr class="entry" id="controls_android.lens.aperture">
5173 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5174 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005175 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005176
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005177 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005178
5179
5180 </td> <!-- entry_type -->
5181
5182 <td class="entry_description">
5183 Size of the lens aperture
5184 </td>
5185
5186 <td class="entry_units">
5187 f-number (f/<wbr>NNN)
5188 </td>
5189
5190 <td class="entry_range">
5191 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5192 </td>
5193
5194 <td class="entry_notes">
5195 Will not be supported on most devices.<wbr> Can only
5196 pick from supported list
5197 </td>
5198
5199 <td class="entry_tags">
5200 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005201 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005202 </ul>
5203 </td>
5204
5205 </tr> <!-- end of entry -->
5206
5207
5208 <tr class="entry" id="controls_android.lens.filterDensity">
5209 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005211 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005212
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005213 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005214
5215
5216 </td> <!-- entry_type -->
5217
5218 <td class="entry_description">
5219 State of lens neutral density
5220 filter(s)
5221 </td>
5222
5223 <td class="entry_units">
5224 number of stops of filtering
5225 </td>
5226
5227 <td class="entry_range">
5228 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5229 </td>
5230
5231 <td class="entry_notes">
5232 Will not be supported on most devices.<wbr> Can only
5233 pick from supported list
5234 </td>
5235
5236 <td class="entry_tags">
5237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005238 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005239 </ul>
5240 </td>
5241
5242 </tr> <!-- end of entry -->
5243
5244
5245 <tr class="entry" id="controls_android.lens.focalLength">
5246 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005248 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005249
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005250 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005251
5252
5253 </td> <!-- entry_type -->
5254
5255 <td class="entry_description">
5256 Lens optical zoom setting
5257 </td>
5258
5259 <td class="entry_units">
5260 focal length in mm
5261 </td>
5262
5263 <td class="entry_range">
5264 > 0
5265 </td>
5266
5267 <td class="entry_notes">
5268 Will not be supported on most devices.<wbr>
5269 </td>
5270
5271 <td class="entry_tags">
5272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005273 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005274 </ul>
5275 </td>
5276
5277 </tr> <!-- end of entry -->
5278
5279
5280 <tr class="entry" id="controls_android.lens.focusDistance">
5281 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5282 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005283 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005285 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005286
5287
5288 </td> <!-- entry_type -->
5289
5290 <td class="entry_description">
5291 Distance to plane of sharpest focus,<wbr>
5292 measured from frontmost surface of the lens
5293 </td>
5294
5295 <td class="entry_units">
5296 diopters (1/<wbr>m)
5297 </td>
5298
5299 <td class="entry_range">
5300 >= 0
5301 </td>
5302
5303 <td class="entry_notes">
5304 0 = infinity focus.<wbr> Used value should be clamped
5305 to (0,<wbr>minimum focus distance)
5306 </td>
5307
5308 <td class="entry_tags">
5309 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005310 <li><a href="#tag_BC">BC</a></li>
5311 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005312 </ul>
5313 </td>
5314
5315 </tr> <!-- end of entry -->
5316
5317
5318 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5319 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005321 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005322
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005323 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324
5325 <ul class="entry_type_enum">
5326 <li>
5327 <span class="entry_type_enum_name">OFF</span>
5328 </li>
5329 <li>
5330 <span class="entry_type_enum_name">ON</span>
5331 <span class="entry_type_enum_optional">optional</span>
5332 </li>
5333 </ul>
5334
5335 </td> <!-- entry_type -->
5336
5337 <td class="entry_description">
5338 Whether optical image stabilization is
5339 enabled.<wbr>
5340 </td>
5341
5342 <td class="entry_units">
5343 </td>
5344
5345 <td class="entry_range">
5346 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5347 </td>
5348
5349 <td class="entry_notes">
5350 Will not be supported on most devices.<wbr>
5351 </td>
5352
5353 <td class="entry_tags">
5354 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005355 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005356 </ul>
5357 </td>
5358
5359 </tr> <!-- end of entry -->
5360
5361
5362
5363 <!-- end of kind -->
5364 </tbody>
5365 <tr><td colspan="7" class="kind">static</td></tr>
5366
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005367 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005368 <tr>
5369 <th class="th_name">Property Name</th>
5370 <th class="th_type">Type</th>
5371 <th class="th_description">Description</th>
5372 <th class="th_units">Units</th>
5373 <th class="th_range">Range</th>
5374 <th class="th_notes">Notes</th>
5375 <th class="th_tags">Tags</th>
5376 </tr>
5377 </thead>
5378
5379 <tbody>
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392 <tr class="entry" id="static_android.lens.info.availableApertures">
5393 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5394 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005395 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005396 <span class="entry_type_container">x</span>
5397
5398 <span class="entry_type_array">
5399 n
5400 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005401 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005402
5403
5404 </td> <!-- entry_type -->
5405
5406 <td class="entry_description">
5407 List of supported aperture
5408 values
5409 </td>
5410
5411 <td class="entry_units">
5412 </td>
5413
5414 <td class="entry_range">
5415 one entry required,<wbr> > 0
5416 </td>
5417
5418 <td class="entry_notes">
5419 If variable aperture not available,<wbr> only setting
5420 should be for the fixed aperture
5421 </td>
5422
5423 <td class="entry_tags">
5424 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005425 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426 </ul>
5427 </td>
5428
5429 </tr> <!-- end of entry -->
5430
5431
5432 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5433 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005435 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005436 <span class="entry_type_container">x</span>
5437
5438 <span class="entry_type_array">
5439 n
5440 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005441 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005442
5443
5444 </td> <!-- entry_type -->
5445
5446 <td class="entry_description">
5447 List of supported ND filter
5448 values
5449 </td>
5450
5451 <td class="entry_units">
5452 </td>
5453
5454 <td class="entry_range">
5455 one entry required,<wbr> >= 0
5456 </td>
5457
5458 <td class="entry_notes">
5459 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5460 lists the available exposure index values for dimming
5461 (2 would mean the filter is set to reduce incoming
5462 light by two stops)
5463 </td>
5464
5465 <td class="entry_tags">
5466 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005467 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005468 </ul>
5469 </td>
5470
5471 </tr> <!-- end of entry -->
5472
5473
5474 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5475 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5476 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005477 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005478 <span class="entry_type_container">x</span>
5479
5480 <span class="entry_type_array">
5481 n
5482 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005483 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005484 <div class="entry_type_notes">the list of available focal lengths</div>
5485
5486
5487 </td> <!-- entry_type -->
5488
5489 <td class="entry_description">
5490 If fitted with optical zoom,<wbr> what focal
5491 lengths are available.<wbr> If not,<wbr> the static focal
5492 length
5493 </td>
5494
5495 <td class="entry_units">
5496 </td>
5497
5498 <td class="entry_range">
5499 > 0
5500 </td>
5501
5502 <td class="entry_notes">
5503 If optical zoom not supported,<wbr> only one value
5504 should be reported
5505 </td>
5506
5507 <td class="entry_tags">
5508 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005509 <li><a href="#tag_BC">BC</a></li>
5510 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005511 </ul>
5512 </td>
5513
5514 </tr> <!-- end of entry -->
5515
5516
5517 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5518 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005521 <span class="entry_type_container">x</span>
5522
5523 <span class="entry_type_array">
5524 n
5525 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005527 <div class="entry_type_notes">list of enums</div>
5528
5529
5530 </td> <!-- entry_type -->
5531
5532 <td class="entry_description">
5533 List of supported optical image
5534 stabilization modes
5535 </td>
5536
5537 <td class="entry_units">
5538 </td>
5539
5540 <td class="entry_range">
5541 </td>
5542
5543 <td class="entry_notes">
5544 </td>
5545
5546 <td class="entry_tags">
5547 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005548 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005549 </ul>
5550 </td>
5551
5552 </tr> <!-- end of entry -->
5553
5554
5555 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5556 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005558 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005559 <span class="entry_type_container">x</span>
5560
5561 <span class="entry_type_array">
5562 2 x 3 x n x m
5563 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005564 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565 <div class="entry_type_notes">2D array of destination coordinate pairs for uniform grid points in source image,<wbr> per color channel.<wbr> Size in the range of 2x3x40x30</div>
5566
5567
5568 </td> <!-- entry_type -->
5569
5570 <td class="entry_description">
5571 A low-resolution map for correction of
5572 geometric distortions and chromatic aberrations,<wbr> per
5573 color channel
5574 </td>
5575
5576 <td class="entry_units">
5577 </td>
5578
5579 <td class="entry_range">
5580 N,<wbr> M >= 2
5581 </td>
5582
5583 <td class="entry_notes">
5584 [DNG wants a function instead].<wbr> What's easiest
5585 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5586 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5587 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5588 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5589 </td>
5590
5591 <td class="entry_tags">
5592 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005593 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005594 </ul>
5595 </td>
5596
5597 </tr> <!-- end of entry -->
5598
5599
5600 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5601 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5602 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005603 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005604 <span class="entry_type_container">x</span>
5605
5606 <span class="entry_type_array">
5607 2
5608 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005609 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005610 <div class="entry_type_notes">width and height of geometric correction map</div>
5611
5612
5613 </td> <!-- entry_type -->
5614
5615 <td class="entry_description">
5616 Dimensions of geometric correction
5617 map
5618 </td>
5619
5620 <td class="entry_units">
5621 </td>
5622
5623 <td class="entry_range">
5624 Both values >= 2
5625 </td>
5626
5627 <td class="entry_notes">
5628 </td>
5629
5630 <td class="entry_tags">
5631 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005632 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005633 </ul>
5634 </td>
5635
5636 </tr> <!-- end of entry -->
5637
5638
5639 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5640 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5641 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005642 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005643
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005644 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005645
5646
5647 </td> <!-- entry_type -->
5648
5649 <td class="entry_description">
5650 Hyperfocal distance for this lens; set to
5651 0 if fixed focus
5652 </td>
5653
5654 <td class="entry_units">
5655 diopters
5656 </td>
5657
5658 <td class="entry_range">
5659 >= 0
5660 </td>
5661
5662 <td class="entry_notes">
5663 The hyperfocal distance is used for the old
5664 API's 'fixed' setting
5665 </td>
5666
5667 <td class="entry_tags">
5668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005670 </ul>
5671 </td>
5672
5673 </tr> <!-- end of entry -->
5674
5675
5676 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5677 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005679 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005680
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005681 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005682
5683
5684 </td> <!-- entry_type -->
5685
5686 <td class="entry_description">
5687 Shortest distance from frontmost surface
5688 of the lens that can be focused correctly
5689 </td>
5690
5691 <td class="entry_units">
5692 diopters
5693 </td>
5694
5695 <td class="entry_range">
5696 >= 0
5697 </td>
5698
5699 <td class="entry_notes">
5700 If the lens is fixed-focus,<wbr> this should be
5701 0
5702 </td>
5703
5704 <td class="entry_tags">
5705 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005706 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005707 </ul>
5708 </td>
5709
5710 </tr> <!-- end of entry -->
5711
5712
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005713 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5714 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5715 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005716 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005717 <span class="entry_type_container">x</span>
5718
5719 <span class="entry_type_array">
5720 2
5721 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005722 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005723 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005724
5725
5726 </td> <!-- entry_type -->
5727
5728 <td class="entry_description">
5729 Dimensions of lens shading
5730 map
5731 </td>
5732
5733 <td class="entry_units">
5734 </td>
5735
5736 <td class="entry_range">
5737 Both values >= 1
5738 </td>
5739
5740 <td class="entry_notes">
5741 </td>
5742
5743 <td class="entry_tags">
5744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005745 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005746 </ul>
5747 </td>
5748
5749 </tr> <!-- end of entry -->
5750
5751
5752
5753
5754
5755 <tr class="entry" id="static_android.lens.facing">
5756 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005758 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005759
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005760 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005761
5762 <ul class="entry_type_enum">
5763 <li>
5764 <span class="entry_type_enum_name">FRONT</span>
5765 </li>
5766 <li>
5767 <span class="entry_type_enum_name">BACK</span>
5768 </li>
5769 </ul>
5770
5771 </td> <!-- entry_type -->
5772
5773 <td class="entry_description">
5774 Direction the camera faces relative to
5775 device screen
5776 </td>
5777
5778 <td class="entry_units">
5779 </td>
5780
5781 <td class="entry_range">
5782 </td>
5783
5784 <td class="entry_notes">
5785 </td>
5786
5787 <td class="entry_tags">
5788 </td>
5789
5790 </tr> <!-- end of entry -->
5791
5792
5793 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5794 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5795 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005796 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005797 <span class="entry_type_container">x</span>
5798
5799 <span class="entry_type_array">
5800 2
5801 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005802 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005803 <div class="entry_type_notes">degrees.<wbr> First defines the angle of separation between the perpendicular to the screen and the camera optical axis.<wbr> The second then defines the clockwise rotation of the optical axis from native device up.<wbr></div>
5804
5805
5806 </td> <!-- entry_type -->
5807
5808 <td class="entry_description">
5809 Relative angle of camera optical axis to the
5810 perpendicular axis from the display
5811 </td>
5812
5813 <td class="entry_units">
5814 </td>
5815
5816 <td class="entry_range">
5817 [0-90) for first angle,<wbr> [0-360) for second
5818 </td>
5819
5820 <td class="entry_notes">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005821 Examples:
5822<br>
5823<br> (0,<wbr>0) means that the camera optical axis
5824 is perpendicular to the display surface;
5825<br>
5826<br> (45,<wbr>0) means that the camera points 45 degrees up when
5827 device is held upright;
5828<br>
5829<br> (45,<wbr>90) means the camera points 45 degrees to the right when
5830 the device is held upright.<wbr>
5831<br>
5832<br> Use FACING field to determine perpendicular outgoing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 direction
5834 </td>
5835
5836 <td class="entry_tags">
5837 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005838 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005839 </ul>
5840 </td>
5841
5842 </tr> <!-- end of entry -->
5843
5844
5845 <tr class="entry" id="static_android.lens.position">
5846 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005848 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005849 <span class="entry_type_container">x</span>
5850
5851 <span class="entry_type_array">
5852 3, location in mm, in the sensor coordinate
5853 system
5854 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005855 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005856
5857
5858 </td> <!-- entry_type -->
5859
5860 <td class="entry_description">
5861 Coordinates of camera optical axis on
5862 device
5863 </td>
5864
5865 <td class="entry_units">
5866 </td>
5867
5868 <td class="entry_range">
5869 </td>
5870
5871 <td class="entry_notes">
5872 </td>
5873
5874 <td class="entry_tags">
5875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005876 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005877 </ul>
5878 </td>
5879
5880 </tr> <!-- end of entry -->
5881
5882
5883
5884 <!-- end of kind -->
5885 </tbody>
5886 <tr><td colspan="7" class="kind">dynamic</td></tr>
5887
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005888 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005889 <tr>
5890 <th class="th_name">Property Name</th>
5891 <th class="th_type">Type</th>
5892 <th class="th_description">Description</th>
5893 <th class="th_units">Units</th>
5894 <th class="th_range">Range</th>
5895 <th class="th_notes">Notes</th>
5896 <th class="th_tags">Tags</th>
5897 </tr>
5898 </thead>
5899
5900 <tbody>
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911 <tr class="entry" id="dynamic_android.lens.aperture">
5912 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005914 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005915
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005916 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005917
5918
5919 </td> <!-- entry_type -->
5920
5921 <td class="entry_description">
5922 Size of the lens aperture
5923 </td>
5924
5925 <td class="entry_units">
5926 f-number (f/<wbr>NNN)
5927 </td>
5928
5929 <td class="entry_range">
5930 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5931 </td>
5932
5933 <td class="entry_notes">
5934 Will not be supported on most devices.<wbr> Can only
5935 pick from supported list
5936 </td>
5937
5938 <td class="entry_tags">
5939 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005940 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005941 </ul>
5942 </td>
5943
5944 </tr> <!-- end of entry -->
5945
5946
5947 <tr class="entry" id="dynamic_android.lens.filterDensity">
5948 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005950 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005952 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005953
5954
5955 </td> <!-- entry_type -->
5956
5957 <td class="entry_description">
5958 State of lens neutral density
5959 filter(s)
5960 </td>
5961
5962 <td class="entry_units">
5963 number of stops of filtering
5964 </td>
5965
5966 <td class="entry_range">
5967 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5968 </td>
5969
5970 <td class="entry_notes">
5971 Will not be supported on most devices.<wbr> Can only
5972 pick from supported list
5973 </td>
5974
5975 <td class="entry_tags">
5976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005977 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005978 </ul>
5979 </td>
5980
5981 </tr> <!-- end of entry -->
5982
5983
5984 <tr class="entry" id="dynamic_android.lens.focalLength">
5985 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005987 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005988
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005989 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990
5991
5992 </td> <!-- entry_type -->
5993
5994 <td class="entry_description">
5995 Lens optical zoom setting
5996 </td>
5997
5998 <td class="entry_units">
5999 focal length in mm
6000 </td>
6001
6002 <td class="entry_range">
6003 > 0
6004 </td>
6005
6006 <td class="entry_notes">
6007 Will not be supported on most devices.<wbr>
6008 </td>
6009
6010 <td class="entry_tags">
6011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006012 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006013 </ul>
6014 </td>
6015
6016 </tr> <!-- end of entry -->
6017
6018
6019 <tr class="entry" id="dynamic_android.lens.focusDistance">
6020 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
6021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006022 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006024 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006025
6026
6027 </td> <!-- entry_type -->
6028
6029 <td class="entry_description">
6030 Distance to plane of sharpest focus,<wbr>
6031 measured from frontmost surface of the lens
6032 </td>
6033
6034 <td class="entry_units">
6035 diopters (1/<wbr>m)
6036 </td>
6037
6038 <td class="entry_range">
6039 >= 0
6040 </td>
6041
6042 <td class="entry_notes">
6043 Should be zero for fixed-focus cameras
6044 </td>
6045
6046 <td class="entry_tags">
6047 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006048 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006049 </ul>
6050 </td>
6051
6052 </tr> <!-- end of entry -->
6053
6054
6055 <tr class="entry" id="dynamic_android.lens.focusRange">
6056 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6057 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006058 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006059
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006060 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061
6062
6063 </td> <!-- entry_type -->
6064
6065 <td class="entry_description">
6066 The range of scene distances that are in
6067 sharp focus (depth of field)
6068 </td>
6069
6070 <td class="entry_units">
6071 pair of focus distances in diopters: (near,<wbr>
6072 far)
6073 </td>
6074
6075 <td class="entry_range">
6076 >=0
6077 </td>
6078
6079 <td class="entry_notes">
6080 If variable focus not supported,<wbr> can still report
6081 fixed depth of field range
6082 </td>
6083
6084 <td class="entry_tags">
6085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006086 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006087 </ul>
6088 </td>
6089
6090 </tr> <!-- end of entry -->
6091
6092
6093 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6094 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6095 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006096 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006097
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006098 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006099
6100 <ul class="entry_type_enum">
6101 <li>
6102 <span class="entry_type_enum_name">OFF</span>
6103 </li>
6104 <li>
6105 <span class="entry_type_enum_name">ON</span>
6106 <span class="entry_type_enum_optional">optional</span>
6107 </li>
6108 </ul>
6109
6110 </td> <!-- entry_type -->
6111
6112 <td class="entry_description">
6113 Whether optical image stabilization is
6114 enabled.<wbr>
6115 </td>
6116
6117 <td class="entry_units">
6118 </td>
6119
6120 <td class="entry_range">
6121 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6122 </td>
6123
6124 <td class="entry_notes">
6125 Will not be supported on most devices.<wbr>
6126 </td>
6127
6128 <td class="entry_tags">
6129 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006130 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006131 </ul>
6132 </td>
6133
6134 </tr> <!-- end of entry -->
6135
6136
6137 <tr class="entry" id="dynamic_android.lens.state">
6138 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6139 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006140 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006141
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006142 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006143
6144 <ul class="entry_type_enum">
6145 <li>
6146 <span class="entry_type_enum_name">STATIONARY</span>
6147 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006148 <li>
6149 <span class="entry_type_enum_name">MOVING</span>
6150 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006151 </ul>
6152
6153 </td> <!-- entry_type -->
6154
6155 <td class="entry_description">
6156 Current lens status
6157 </td>
6158
6159 <td class="entry_units">
6160 </td>
6161
6162 <td class="entry_range">
6163 </td>
6164
6165 <td class="entry_notes">
6166 </td>
6167
6168 <td class="entry_tags">
6169 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006170 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006171 </ul>
6172 </td>
6173
6174 </tr> <!-- end of entry -->
6175
6176
6177
6178 <!-- end of kind -->
6179 </tbody>
6180
6181 <!-- end of section -->
6182 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6183
6184
6185 <tr><td colspan="7" class="kind">controls</td></tr>
6186
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006187 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006188 <tr>
6189 <th class="th_name">Property Name</th>
6190 <th class="th_type">Type</th>
6191 <th class="th_description">Description</th>
6192 <th class="th_units">Units</th>
6193 <th class="th_range">Range</th>
6194 <th class="th_notes">Notes</th>
6195 <th class="th_tags">Tags</th>
6196 </tr>
6197 </thead>
6198
6199 <tbody>
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210 <tr class="entry" id="controls_android.noiseReduction.mode">
6211 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6212 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006213 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006214
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006215 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006216
6217 <ul class="entry_type_enum">
6218 <li>
6219 <span class="entry_type_enum_name">OFF</span>
6220 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6221 </li>
6222 <li>
6223 <span class="entry_type_enum_name">FAST</span>
6224 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6225 bayer output</span>
6226 </li>
6227 <li>
6228 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6229 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6230 quality</span>
6231 </li>
6232 </ul>
6233
6234 </td> <!-- entry_type -->
6235
6236 <td class="entry_description">
6237 Mode of operation for the noise reduction
6238 algorithm
6239 </td>
6240
6241 <td class="entry_units">
6242 </td>
6243
6244 <td class="entry_range">
6245 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6246 </td>
6247
6248 <td class="entry_notes">
6249 </td>
6250
6251 <td class="entry_tags">
6252 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006253 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006254 </ul>
6255 </td>
6256
6257 </tr> <!-- end of entry -->
6258
6259
6260 <tr class="entry" id="controls_android.noiseReduction.strength">
6261 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6262 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006263 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006264
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006265 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006266
6267
6268 </td> <!-- entry_type -->
6269
6270 <td class="entry_description">
6271 Control the amount of noise reduction
6272 applied to the images
6273 </td>
6274
6275 <td class="entry_units">
6276 1-10; 10 is max noise reduction
6277 </td>
6278
6279 <td class="entry_range">
6280 1 - 10
6281 </td>
6282
6283 <td class="entry_notes">
6284 </td>
6285
6286 <td class="entry_tags">
6287 </td>
6288
6289 </tr> <!-- end of entry -->
6290
6291
6292
6293 <!-- end of kind -->
6294 </tbody>
6295 <tr><td colspan="7" class="kind">dynamic</td></tr>
6296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006297 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006298 <tr>
6299 <th class="th_name">Property Name</th>
6300 <th class="th_type">Type</th>
6301 <th class="th_description">Description</th>
6302 <th class="th_units">Units</th>
6303 <th class="th_range">Range</th>
6304 <th class="th_notes">Notes</th>
6305 <th class="th_tags">Tags</th>
6306 </tr>
6307 </thead>
6308
6309 <tbody>
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6321 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006323 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006324
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006325 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006326
6327 <ul class="entry_type_enum">
6328 <li>
6329 <span class="entry_type_enum_name">OFF</span>
6330 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6331 </li>
6332 <li>
6333 <span class="entry_type_enum_name">FAST</span>
6334 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6335 bayer output</span>
6336 </li>
6337 <li>
6338 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6339 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6340 quality</span>
6341 </li>
6342 </ul>
6343
6344 </td> <!-- entry_type -->
6345
6346 <td class="entry_description">
6347 Mode of operation for the noise reduction
6348 algorithm
6349 </td>
6350
6351 <td class="entry_units">
6352 </td>
6353
6354 <td class="entry_range">
6355 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6356 </td>
6357
6358 <td class="entry_notes">
6359 </td>
6360
6361 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006362 <ul class="entry_tags">
6363 <li><a href="#tag_V1">V1</a></li>
6364 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006365 </td>
6366
6367 </tr> <!-- end of entry -->
6368
6369
6370
6371 <!-- end of kind -->
6372 </tbody>
6373
6374 <!-- end of section -->
6375 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6376
6377
6378 <tr><td colspan="7" class="kind">static</td></tr>
6379
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006380 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006381 <tr>
6382 <th class="th_name">Property Name</th>
6383 <th class="th_type">Type</th>
6384 <th class="th_description">Description</th>
6385 <th class="th_units">Units</th>
6386 <th class="th_range">Range</th>
6387 <th class="th_notes">Notes</th>
6388 <th class="th_tags">Tags</th>
6389 </tr>
6390 </thead>
6391
6392 <tbody>
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6404 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6405 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006406 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006407
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006408 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006409
6410
6411 </td> <!-- entry_type -->
6412
6413 <td class="entry_description">
6414 If set to 1,<wbr> the camera service does not
6415 scale 'normalized' coordinates with respect to the crop
6416 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6417 and output (face rectangles).<wbr>
6418 </td>
6419
6420 <td class="entry_units">
6421 </td>
6422
6423 <td class="entry_range">
6424 </td>
6425
6426 <td class="entry_notes">
6427 Normalized coordinates refer to those in the
6428 (-1000,<wbr>1000) range mentioned in the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006429 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr>
6430<br>
6431<br> HAL implementations should instead always use and emit
6432 sensor array-relative coordinates for all region data.<wbr> Does
6433 not need to be listed in static metadata.<wbr> Support will be
6434 removed in future versions of camera service.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006435 </td>
6436
6437 <td class="entry_tags">
6438 </td>
6439
6440 </tr> <!-- end of entry -->
6441
6442
6443 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6444 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6445 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006446 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006447
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006448 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006449
6450
6451 </td> <!-- entry_type -->
6452
6453 <td class="entry_description">
6454 If set to 1,<wbr> then the camera service always
6455 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6456 trigger.<wbr>
6457 </td>
6458
6459 <td class="entry_units">
6460 </td>
6461
6462 <td class="entry_range">
6463 </td>
6464
6465 <td class="entry_notes">
6466 HAL implementations should implement AF trigger
6467 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6468 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6469 not need to be listed in static metadata.<wbr> Support will be
6470 removed in future versions of camera service
6471 </td>
6472
6473 <td class="entry_tags">
6474 </td>
6475
6476 </tr> <!-- end of entry -->
6477
6478
6479 <tr class="entry" id="static_android.quirks.useZslFormat">
6480 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006482 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006484 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006485
6486
6487 </td> <!-- entry_type -->
6488
6489 <td class="entry_description">
6490 If set to 1,<wbr> the camera service uses
6491 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6492 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6493 shutter lag stream
6494 </td>
6495
6496 <td class="entry_units">
6497 </td>
6498
6499 <td class="entry_range">
6500 </td>
6501
6502 <td class="entry_notes">
6503 HAL implementations should use gralloc usage flags
6504 to determine that a stream will be used for
6505 zero-shutter-lag,<wbr> instead of relying on an explicit
6506 format setting.<wbr> Does not need to be listed in static
6507 metadata.<wbr> Support will be removed in future versions of
6508 camera service.<wbr>
6509 </td>
6510
6511 <td class="entry_tags">
6512 </td>
6513
6514 </tr> <!-- end of entry -->
6515
6516
6517
6518 <!-- end of kind -->
6519 </tbody>
6520
6521 <!-- end of section -->
6522 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6523
6524
6525 <tr><td colspan="7" class="kind">controls</td></tr>
6526
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006527 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006528 <tr>
6529 <th class="th_name">Property Name</th>
6530 <th class="th_type">Type</th>
6531 <th class="th_description">Description</th>
6532 <th class="th_units">Units</th>
6533 <th class="th_range">Range</th>
6534 <th class="th_notes">Notes</th>
6535 <th class="th_tags">Tags</th>
6536 </tr>
6537 </thead>
6538
6539 <tbody>
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550 <tr class="entry" id="controls_android.request.frameCount">
6551 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6552 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006553 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006554
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006555 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006556
6557
6558 </td> <!-- entry_type -->
6559
6560 <td class="entry_description">
6561 A frame counter set by the framework.<wbr> Must
6562 be maintained unchanged in output frame
6563 </td>
6564
6565 <td class="entry_units">
6566 incrementing integer
6567 </td>
6568
6569 <td class="entry_range">
6570 Any int
6571 </td>
6572
6573 <td class="entry_notes">
6574 </td>
6575
6576 <td class="entry_tags">
6577 </td>
6578
6579 </tr> <!-- end of entry -->
6580
6581
6582 <tr class="entry" id="controls_android.request.id">
6583 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6584 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006585 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006586
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006587 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006588
6589
6590 </td> <!-- entry_type -->
6591
6592 <td class="entry_description">
6593 An application-specified ID for the current
6594 request.<wbr> Must be maintained unchanged in output
6595 frame
6596 </td>
6597
6598 <td class="entry_units">
6599 arbitrary integer assigned by application
6600 </td>
6601
6602 <td class="entry_range">
6603 Any int
6604 </td>
6605
6606 <td class="entry_notes">
6607 </td>
6608
6609 <td class="entry_tags">
6610 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006611 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006612 </ul>
6613 </td>
6614
6615 </tr> <!-- end of entry -->
6616
6617
6618 <tr class="entry" id="controls_android.request.inputStreams">
6619 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6620 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006621 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006622 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006623
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006624 <span class="entry_type_array">
6625 n
6626 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006627 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006628
6629
6630 </td> <!-- entry_type -->
6631
6632 <td class="entry_description">
6633 List which camera reprocess stream is used
6634 for the source of reprocessing data.<wbr>
6635 </td>
6636
6637 <td class="entry_units">
6638 List of camera reprocess stream IDs
6639 </td>
6640
6641 <td class="entry_range">
6642 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006643 reprocess stream ID.<wbr>
6644
6645 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6646 reprocess streams may be included in a single request; they
6647 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006648 </td>
6649
6650 <td class="entry_notes">
6651 Only meaningful when android.<wbr>request.<wbr>type ==
6652 REPROCESS.<wbr> Ignored otherwise
6653 </td>
6654
6655 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006656 <ul class="entry_tags">
6657 <li><a href="#tag_HAL2">HAL2</a></li>
6658 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006659 </td>
6660
6661 </tr> <!-- end of entry -->
6662
6663
6664 <tr class="entry" id="controls_android.request.metadataMode">
6665 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6666 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006667 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006668
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006669 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006670
6671 <ul class="entry_type_enum">
6672 <li>
6673 <span class="entry_type_enum_name">NONE</span>
6674 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6675 for application-bound buffer data.<wbr> If no
6676 application-bound streams exist,<wbr> no frame should be
6677 placed in the output frame queue.<wbr> If such streams
6678 exist,<wbr> a frame should be placed on the output queue
6679 with null metadata but with the necessary output buffer
6680 information.<wbr> Timestamp information should still be
6681 included with any output stream buffers</span>
6682 </li>
6683 <li>
6684 <span class="entry_type_enum_name">FULL</span>
6685 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6686 only be produced if they are separately
6687 enabled</span>
6688 </li>
6689 </ul>
6690
6691 </td> <!-- entry_type -->
6692
6693 <td class="entry_description">
6694 How much metadata to produce on
6695 output
6696 </td>
6697
6698 <td class="entry_units">
6699 </td>
6700
6701 <td class="entry_range">
6702 </td>
6703
6704 <td class="entry_notes">
6705 </td>
6706
6707 <td class="entry_tags">
6708 </td>
6709
6710 </tr> <!-- end of entry -->
6711
6712
6713 <tr class="entry" id="controls_android.request.outputStreams">
6714 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6715 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006716 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006717 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006718
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006719 <span class="entry_type_array">
6720 n
6721 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006722 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006723
6724
6725 </td> <!-- entry_type -->
6726
6727 <td class="entry_description">
6728 Lists which camera output streams image data
6729 from this capture must be sent to
6730 </td>
6731
6732 <td class="entry_units">
6733 List of camera stream IDs
6734 </td>
6735
6736 <td class="entry_range">
6737 List must only include streams that have been
6738 created
6739 </td>
6740
6741 <td class="entry_notes">
6742 If no output streams are listed,<wbr> then the image
6743 data should simply be discarded.<wbr> The image data must
6744 still be captured for metadata and statistics production,<wbr>
6745 and the lens and flash must operate as requested.<wbr>
6746 </td>
6747
6748 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006749 <ul class="entry_tags">
6750 <li><a href="#tag_HAL2">HAL2</a></li>
6751 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006752 </td>
6753
6754 </tr> <!-- end of entry -->
6755
6756
6757 <tr class="entry" id="controls_android.request.type">
6758 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6759 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006760 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006761
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006762 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006763
6764 <ul class="entry_type_enum">
6765 <li>
6766 <span class="entry_type_enum_name">CAPTURE</span>
6767 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6768 and process it according to the
6769 settings</span>
6770 </li>
6771 <li>
6772 <span class="entry_type_enum_name">REPROCESS</span>
6773 <span class="entry_type_enum_notes">Process previously captured data; the
6774 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6775 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6776 needed for reprocessing with [RP]</span>
6777 </li>
6778 </ul>
6779
6780 </td> <!-- entry_type -->
6781
6782 <td class="entry_description">
6783 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006784 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006785 </td>
6786
6787 <td class="entry_units">
6788 </td>
6789
6790 <td class="entry_range">
6791 </td>
6792
6793 <td class="entry_notes">
6794 </td>
6795
6796 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006797 <ul class="entry_tags">
6798 <li><a href="#tag_HAL2">HAL2</a></li>
6799 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800 </td>
6801
6802 </tr> <!-- end of entry -->
6803
6804
6805
6806 <!-- end of kind -->
6807 </tbody>
6808 <tr><td colspan="7" class="kind">static</td></tr>
6809
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006810 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006811 <tr>
6812 <th class="th_name">Property Name</th>
6813 <th class="th_type">Type</th>
6814 <th class="th_description">Description</th>
6815 <th class="th_units">Units</th>
6816 <th class="th_range">Range</th>
6817 <th class="th_notes">Notes</th>
6818 <th class="th_tags">Tags</th>
6819 </tr>
6820 </thead>
6821
6822 <tbody>
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6834 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006836 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006837 <span class="entry_type_container">x</span>
6838
6839 <span class="entry_type_array">
6840 3
6841 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006842 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006843
6844
6845 </td> <!-- entry_type -->
6846
6847 <td class="entry_description">
6848 How many output streams can be allocated at
6849 the same time for each type of stream
6850 </td>
6851
6852 <td class="entry_units">
6853 The number of raw sensor streams; the number of
6854 processed,<wbr> uncompressed streams; and the number of
6855 JPEG-compressed streams
6856 </td>
6857
6858 <td class="entry_range">
6859 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6860 for processed,<wbr> uncompressed streams
6861 </td>
6862
6863 <td class="entry_notes">
6864 Video snapshot with preview callbacks requires 3
6865 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6866 one JPEG stream (snapshot)
6867 </td>
6868
6869 <td class="entry_tags">
6870 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006871 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006872 </ul>
6873 </td>
6874
6875 </tr> <!-- end of entry -->
6876
6877
6878 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6879 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6880 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006881 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006882 <span class="entry_type_container">x</span>
6883
6884 <span class="entry_type_array">
6885 1
6886 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006887 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006888
6889
6890 </td> <!-- entry_type -->
6891
6892 <td class="entry_description">
6893 How many reprocessing streams of any type
6894 can be allocated at the same time
6895 </td>
6896
6897 <td class="entry_units">
6898 </td>
6899
6900 <td class="entry_range">
6901 >= 1
6902 </td>
6903
6904 <td class="entry_notes">
6905 </td>
6906
6907 <td class="entry_tags">
6908 </td>
6909
6910 </tr> <!-- end of entry -->
6911
6912
6913
6914 <!-- end of kind -->
6915 </tbody>
6916 <tr><td colspan="7" class="kind">dynamic</td></tr>
6917
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006918 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006919 <tr>
6920 <th class="th_name">Property Name</th>
6921 <th class="th_type">Type</th>
6922 <th class="th_description">Description</th>
6923 <th class="th_units">Units</th>
6924 <th class="th_range">Range</th>
6925 <th class="th_notes">Notes</th>
6926 <th class="th_tags">Tags</th>
6927 </tr>
6928 </thead>
6929
6930 <tbody>
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941 <tr class="entry" id="dynamic_android.request.frameCount">
6942 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6943 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006944 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006945
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006947
6948
6949 </td> <!-- entry_type -->
6950
6951 <td class="entry_description">
6952 Number of frames captured since
6953 open()
6954 </td>
6955
6956 <td class="entry_units">
6957 count of frames
6958 </td>
6959
6960 <td class="entry_range">
6961 > 0
6962 </td>
6963
6964 <td class="entry_notes">
6965 Reset on release()
6966 </td>
6967
6968 <td class="entry_tags">
6969 </td>
6970
6971 </tr> <!-- end of entry -->
6972
6973
6974 <tr class="entry" id="dynamic_android.request.id">
6975 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6976 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006977 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006978
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006979 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006980
6981
6982 </td> <!-- entry_type -->
6983
6984 <td class="entry_description">
6985 An application-specified ID for the current
6986 request.<wbr> Must be maintained unchanged in output
6987 frame
6988 </td>
6989
6990 <td class="entry_units">
6991 arbitrary integer assigned by application
6992 </td>
6993
6994 <td class="entry_range">
6995 Any int
6996 </td>
6997
6998 <td class="entry_notes">
6999 </td>
7000
7001 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007002 <ul class="entry_tags">
7003 <li><a href="#tag_V1">V1</a></li>
7004 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007005 </td>
7006
7007 </tr> <!-- end of entry -->
7008
7009
7010 <tr class="entry" id="dynamic_android.request.metadataMode">
7011 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007013 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007015 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007016
7017 <ul class="entry_type_enum">
7018 <li>
7019 <span class="entry_type_enum_name">NONE</span>
7020 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7021 for application-bound buffer data.<wbr> If no
7022 application-bound streams exist,<wbr> no frame should be
7023 placed in the output frame queue.<wbr> If such streams
7024 exist,<wbr> a frame should be placed on the output queue
7025 with null metadata but with the necessary output buffer
7026 information.<wbr> Timestamp information should still be
7027 included with any output stream buffers</span>
7028 </li>
7029 <li>
7030 <span class="entry_type_enum_name">FULL</span>
7031 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7032 only be produced if they are separately
7033 enabled</span>
7034 </li>
7035 </ul>
7036
7037 </td> <!-- entry_type -->
7038
7039 <td class="entry_description">
7040 How much metadata to produce on
7041 output
7042 </td>
7043
7044 <td class="entry_units">
7045 </td>
7046
7047 <td class="entry_range">
7048 </td>
7049
7050 <td class="entry_notes">
7051 </td>
7052
7053 <td class="entry_tags">
7054 </td>
7055
7056 </tr> <!-- end of entry -->
7057
7058
7059 <tr class="entry" id="dynamic_android.request.outputStreams">
7060 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7061 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007062 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007063 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007064
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007065 <span class="entry_type_array">
7066 n
7067 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007068 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007069
7070
7071 </td> <!-- entry_type -->
7072
7073 <td class="entry_description">
7074 Lists which camera output streams image data
7075 from this capture must be sent to
7076 </td>
7077
7078 <td class="entry_units">
7079 List of camera stream IDs
7080 </td>
7081
7082 <td class="entry_range">
7083 List must only include streams that have been
7084 created
7085 </td>
7086
7087 <td class="entry_notes">
7088 If no output streams are listed,<wbr> then the image
7089 data should simply be discarded.<wbr> The image data must
7090 still be captured for metadata and statistics production,<wbr>
7091 and the lens and flash must operate as requested.<wbr>
7092 </td>
7093
7094 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007095 <ul class="entry_tags">
7096 <li><a href="#tag_HAL2">HAL2</a></li>
7097 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007098 </td>
7099
7100 </tr> <!-- end of entry -->
7101
7102
7103
7104 <!-- end of kind -->
7105 </tbody>
7106
7107 <!-- end of section -->
7108 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7109
7110
7111 <tr><td colspan="7" class="kind">controls</td></tr>
7112
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007113 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007114 <tr>
7115 <th class="th_name">Property Name</th>
7116 <th class="th_type">Type</th>
7117 <th class="th_description">Description</th>
7118 <th class="th_units">Units</th>
7119 <th class="th_range">Range</th>
7120 <th class="th_notes">Notes</th>
7121 <th class="th_tags">Tags</th>
7122 </tr>
7123 </thead>
7124
7125 <tbody>
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136 <tr class="entry" id="controls_android.scaler.cropRegion">
7137 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7138 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007139 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007140 <span class="entry_type_container">x</span>
7141
7142 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007143 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007144 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007145 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007146
7147
7148 </td> <!-- entry_type -->
7149
7150 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007151 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7152<br>
7153<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7154 (width,<wbr> height).<wbr> The region of the sensor that is used for
7155 output.<wbr> Each stream must use this rectangle to produce its
7156 output,<wbr> cropping to a smaller region if necessary to
7157 maintain the stream's aspect ratio.<wbr>
7158<br>
7159<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007160 </td>
7161
7162 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007163 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7164 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007165 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007166 </td>
7167
7168 <td class="entry_range">
7169 </td>
7170
7171 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007172
7173 Any additional per-stream cropping must be done to
7174 maximize the final pixel area of the stream.<wbr>
7175<br>
7176<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7177 ratio,<wbr> then 4:3 streams should use the exact crop
7178 region.<wbr> 16:9 streams should further crop vertically
7179 (letterbox).<wbr>
7180<br>
7181<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7182 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7183 streams should match exactly.<wbr> These additional crops must
7184 be centered within the crop region.<wbr>
7185<br>
7186<br> The output streams must maintain square pixels at all
7187 times,<wbr> no matter what the relative aspect ratios of the
7188 crop region and the stream are.<wbr> Negative values for
7189 corner are allowed for raw output if full pixel array is
7190 larger than active pixel array.<wbr> Width and height may be
7191 rounded to nearest larger supportable width,<wbr> especially
7192 for raw output,<wbr> where only a few fixed scales may be
7193 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007194 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007195 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007196 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007197 respectively.<wbr>
7198
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007199 </td>
7200
7201 <td class="entry_tags">
7202 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007203 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007204 </ul>
7205 </td>
7206
7207 </tr> <!-- end of entry -->
7208
7209
7210
7211 <!-- end of kind -->
7212 </tbody>
7213 <tr><td colspan="7" class="kind">static</td></tr>
7214
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007215 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007216 <tr>
7217 <th class="th_name">Property Name</th>
7218 <th class="th_type">Type</th>
7219 <th class="th_description">Description</th>
7220 <th class="th_units">Units</th>
7221 <th class="th_range">Range</th>
7222 <th class="th_notes">Notes</th>
7223 <th class="th_tags">Tags</th>
7224 </tr>
7225 </thead>
7226
7227 <tbody>
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238 <tr class="entry" id="static_android.scaler.availableFormats">
7239 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7240 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007241 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007242 <span class="entry_type_container">x</span>
7243
7244 <span class="entry_type_array">
7245 n
7246 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007247 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007248 <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>
7249
7250 <ul class="entry_type_enum">
7251 <li>
7252 <span class="entry_type_enum_name">RAW_SENSOR</span>
7253 <span class="entry_type_enum_value">0x20</span>
7254 </li>
7255 <li>
7256 <span class="entry_type_enum_name">YV12</span>
7257 <span class="entry_type_enum_value">0x32315659</span>
7258 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7259 </li>
7260 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007261 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007262 <span class="entry_type_enum_value">0x11</span>
7263 <span class="entry_type_enum_notes">NV21</span>
7264 </li>
7265 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007266 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7267 <span class="entry_type_enum_value">0x22</span>
7268 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7269 </li>
7270 <li>
7271 <span class="entry_type_enum_name">YCbCr_420_888</span>
7272 <span class="entry_type_enum_value">0x23</span>
7273 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7274 </li>
7275 <li>
7276 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007277 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007278 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007279 </li>
7280 </ul>
7281
7282 </td> <!-- entry_type -->
7283
7284 <td class="entry_description">
7285 List of app-visible formats
7286 </td>
7287
7288 <td class="entry_units">
7289 </td>
7290
7291 <td class="entry_range">
7292 </td>
7293
7294 <td class="entry_notes">
7295 </td>
7296
7297 <td class="entry_tags">
7298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007299 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007300 </ul>
7301 </td>
7302
7303 </tr> <!-- end of entry -->
7304
7305
7306 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7307 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007309 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007310 <span class="entry_type_container">x</span>
7311
7312 <span class="entry_type_array">
7313 n
7314 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007315 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007316
7317
7318 </td> <!-- entry_type -->
7319
7320 <td class="entry_description">
7321 The minimum frame duration that is supported
7322 for each resolution in availableJpegSizes.<wbr> Should
7323 correspond to the frame duration when only that JPEG
Zhijun He69fc0ea2013-07-17 09:42:58 -07007324 stream is active and captured in a burst,<wbr> with all
7325 processing set to FAST
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007326 </td>
7327
7328 <td class="entry_units">
7329 </td>
7330
7331 <td class="entry_range">
7332 </td>
7333
7334 <td class="entry_notes">
7335 When multiple streams are configured,<wbr> the minimum
7336 frame duration will be >= max(individual stream min
7337 durations)
7338 </td>
7339
7340 <td class="entry_tags">
7341 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007342 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007343 </ul>
7344 </td>
7345
7346 </tr> <!-- end of entry -->
7347
7348
7349 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7350 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7351 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007352 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007353 <span class="entry_type_container">x</span>
7354
7355 <span class="entry_type_array">
7356 n x 2
7357 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007358 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007359
7360
7361 </td> <!-- entry_type -->
7362
7363 <td class="entry_description">
7364 The resolutions available for output from
7365 the JPEG block.<wbr> Listed as width x height
7366 </td>
7367
7368 <td class="entry_units">
7369 </td>
7370
7371 <td class="entry_range">
7372 Must include: - sensor maximum resolution Should
7373 include: - half/<wbr>quarter max resolution
7374 </td>
7375
7376 <td class="entry_notes">
7377 </td>
7378
7379 <td class="entry_tags">
7380 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007381 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007382 </ul>
7383 </td>
7384
7385 </tr> <!-- end of entry -->
7386
7387
7388 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7389 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7390 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007391 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007392
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007393 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007394
7395
7396 </td> <!-- entry_type -->
7397
7398 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007399 The maximum ratio between active area width
7400 and crop region width,<wbr> or between active area height and
7401 crop region height,<wbr> if the crop region height is larger
7402 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007403 </td>
7404
7405 <td class="entry_units">
7406 </td>
7407
7408 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007409 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007410 </td>
7411
7412 <td class="entry_notes">
7413 </td>
7414
7415 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007416 <ul class="entry_tags">
7417 <li><a href="#tag_BC">BC</a></li>
7418 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007419 </td>
7420
7421 </tr> <!-- end of entry -->
7422
7423
7424 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7425 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7426 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007427 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007428 <span class="entry_type_container">x</span>
7429
7430 <span class="entry_type_array">
7431 n
7432 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007433 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007434
7435
7436 </td> <!-- entry_type -->
7437
7438 <td class="entry_description">
7439 The minimum frame duration that is supported
7440 for each resolution in availableProcessedSizes.<wbr> Should
7441 correspond to the frame duration when only that processed
7442 stream is active,<wbr> with all processing set to
7443 FAST
7444 </td>
7445
7446 <td class="entry_units">
7447 </td>
7448
7449 <td class="entry_range">
7450 </td>
7451
7452 <td class="entry_notes">
7453 When multiple streams are configured,<wbr> the minimum
7454 frame duration will be >= max(individual stream min
7455 durations)
7456 </td>
7457
7458 <td class="entry_tags">
7459 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007460 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007461 </ul>
7462 </td>
7463
7464 </tr> <!-- end of entry -->
7465
7466
7467 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7468 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7469 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007470 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007471 <span class="entry_type_container">x</span>
7472
7473 <span class="entry_type_array">
7474 n x 2
7475 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007476 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007477
7478
7479 </td> <!-- entry_type -->
7480
7481 <td class="entry_description">
7482 The resolutions available for use with
7483 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7484 platform opaque YUV/<wbr>RGB streams to the GPU or video
7485 encoders.<wbr> Listed as width,<wbr> height
7486 </td>
7487
7488 <td class="entry_units">
7489 </td>
7490
7491 <td class="entry_range">
7492 Must include: - sensor maximum resolution -
7493 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7494 resolutions
7495 </td>
7496
7497 <td class="entry_notes">
Zhijun He15cc3112013-09-17 12:38:34 -07007498 The actual supported resolution list may be limited by
7499 consumer end points for different use cases.<wbr> For example,<wbr> for
7500 recording use case,<wbr> the largest supported resolution may be
7501 limited by max supported size from encoder,<wbr> for preview use
7502 case,<wbr> the largest supported resolution may be limited by max
7503 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr>
7504
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007505 </td>
7506
7507 <td class="entry_tags">
7508 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007509 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007510 </ul>
7511 </td>
7512
7513 </tr> <!-- end of entry -->
7514
7515
7516 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7517 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7518 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007519 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007520 <span class="entry_type_container">x</span>
7521
7522 <span class="entry_type_array">
7523 n
7524 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007525 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007526
7527
7528 </td> <!-- entry_type -->
7529
7530 <td class="entry_description">
7531 The minimum frame duration that is supported
7532 for each raw resolution in availableRawSizes.<wbr> Should
7533 correspond to the frame duration when only the raw stream
7534 is active.<wbr>
7535 </td>
7536
7537 <td class="entry_units">
7538 </td>
7539
7540 <td class="entry_range">
7541 </td>
7542
7543 <td class="entry_notes">
7544 When multiple streams are configured,<wbr> the minimum
7545 frame duration will be >= max(individual stream min
7546 durations)
7547 </td>
7548
7549 <td class="entry_tags">
7550 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007551 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007552 </ul>
7553 </td>
7554
7555 </tr> <!-- end of entry -->
7556
7557
7558 <tr class="entry" id="static_android.scaler.availableRawSizes">
7559 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7560 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007561 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007562 <span class="entry_type_container">x</span>
7563
7564 <span class="entry_type_array">
7565 n x 2
7566 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007567 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007568
7569
7570 </td> <!-- entry_type -->
7571
7572 <td class="entry_description">
7573 The resolutions available for use with raw
7574 sensor output streams,<wbr> listed as width,<wbr>
7575 height
7576 </td>
7577
7578 <td class="entry_units">
7579 </td>
7580
7581 <td class="entry_range">
7582 Must include: - sensor maximum resolution
7583 </td>
7584
7585 <td class="entry_notes">
7586 </td>
7587
7588 <td class="entry_tags">
7589 </td>
7590
7591 </tr> <!-- end of entry -->
7592
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007593
7594
7595 <!-- end of kind -->
7596 </tbody>
7597 <tr><td colspan="7" class="kind">dynamic</td></tr>
7598
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007599 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007600 <tr>
7601 <th class="th_name">Property Name</th>
7602 <th class="th_type">Type</th>
7603 <th class="th_description">Description</th>
7604 <th class="th_units">Units</th>
7605 <th class="th_range">Range</th>
7606 <th class="th_notes">Notes</th>
7607 <th class="th_tags">Tags</th>
7608 </tr>
7609 </thead>
7610
7611 <tbody>
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7623 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7624 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007625 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007626 <span class="entry_type_container">x</span>
7627
7628 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007629 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007631 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007632
7633
7634 </td> <!-- entry_type -->
7635
7636 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007637 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7638<br>
7639<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7640 (width,<wbr> height).<wbr> The region of the sensor that is used for
7641 output.<wbr> Each stream must use this rectangle to produce its
7642 output,<wbr> cropping to a smaller region if necessary to
7643 maintain the stream's aspect ratio.<wbr>
7644<br>
7645<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007646 </td>
7647
7648 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007649 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7650 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007651 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007652 </td>
7653
7654 <td class="entry_range">
7655 </td>
7656
7657 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007658
7659 Any additional per-stream cropping must be done to
7660 maximize the final pixel area of the stream.<wbr>
7661<br>
7662<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7663 ratio,<wbr> then 4:3 streams should use the exact crop
7664 region.<wbr> 16:9 streams should further crop vertically
7665 (letterbox).<wbr>
7666<br>
7667<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7668 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7669 streams should match exactly.<wbr> These additional crops must
7670 be centered within the crop region.<wbr>
7671<br>
7672<br> The output streams must maintain square pixels at all
7673 times,<wbr> no matter what the relative aspect ratios of the
7674 crop region and the stream are.<wbr> Negative values for
7675 corner are allowed for raw output if full pixel array is
7676 larger than active pixel array.<wbr> Width and height may be
7677 rounded to nearest larger supportable width,<wbr> especially
7678 for raw output,<wbr> where only a few fixed scales may be
7679 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007680 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007681 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007682 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007683 respectively.<wbr>
7684
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007685 </td>
7686
7687 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007688 <ul class="entry_tags">
7689 <li><a href="#tag_BC">BC</a></li>
7690 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007691 </td>
7692
7693 </tr> <!-- end of entry -->
7694
7695
7696
7697 <!-- end of kind -->
7698 </tbody>
7699
7700 <!-- end of section -->
7701 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7702
7703
7704 <tr><td colspan="7" class="kind">controls</td></tr>
7705
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007706 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707 <tr>
7708 <th class="th_name">Property Name</th>
7709 <th class="th_type">Type</th>
7710 <th class="th_description">Description</th>
7711 <th class="th_units">Units</th>
7712 <th class="th_range">Range</th>
7713 <th class="th_notes">Notes</th>
7714 <th class="th_tags">Tags</th>
7715 </tr>
7716 </thead>
7717
7718 <tbody>
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729 <tr class="entry" id="controls_android.sensor.exposureTime">
7730 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7731 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007732 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007733
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007734 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007735
7736
7737 </td> <!-- entry_type -->
7738
7739 <td class="entry_description">
7740 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007741 light.<wbr>
7742<br>
7743<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
7744 duration exposed to the nearest possible value (rather than expose longer).<wbr>
7745
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007746 </td>
7747
7748 <td class="entry_units">
7749 nanoseconds
7750 </td>
7751
7752 <td class="entry_range">
7753 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7754 </td>
7755
7756 <td class="entry_notes">
7757 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7758 </td>
7759
7760 <td class="entry_tags">
7761 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007762 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007763 </ul>
7764 </td>
7765
7766 </tr> <!-- end of entry -->
7767
7768
7769 <tr class="entry" id="controls_android.sensor.frameDuration">
7770 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7771 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007772 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007773
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007774 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007775
7776
7777 </td> <!-- entry_type -->
7778
7779 <td class="entry_description">
7780 Duration from start of frame exposure to
7781 start of next frame exposure
7782 </td>
7783
7784 <td class="entry_units">
7785 nanoseconds
7786 </td>
7787
7788 <td class="entry_range">
7789 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7790 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7791 </td>
7792
7793 <td class="entry_notes">
7794 Exposure time has priority,<wbr> so duration is set to
7795 max(duration,<wbr> exposure time + overhead)
7796 </td>
7797
7798 <td class="entry_tags">
7799 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007800 <li><a href="#tag_V1">V1</a></li>
7801 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007802 </ul>
7803 </td>
7804
7805 </tr> <!-- end of entry -->
7806
7807
7808 <tr class="entry" id="controls_android.sensor.sensitivity">
7809 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7810 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007811 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007812
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007813 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007814
7815
7816 </td> <!-- entry_type -->
7817
7818 <td class="entry_description">
7819 Gain applied to image data.<wbr> Must be
7820 implemented through analog gain only if set to values
7821 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07007822<br>
7823<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
7824 gain to the nearest possible value (rather than gain more).<wbr>
7825
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007826 </td>
7827
7828 <td class="entry_units">
7829 ISO arithmetic units
7830 </td>
7831
7832 <td class="entry_range">
7833 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7834 </td>
7835
7836 <td class="entry_notes">
7837 ISO 12232:2006 REI method
7838 </td>
7839
7840 <td class="entry_tags">
7841 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007842 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007843 </ul>
7844 </td>
7845
7846 </tr> <!-- end of entry -->
7847
7848
7849
7850 <!-- end of kind -->
7851 </tbody>
7852 <tr><td colspan="7" class="kind">static</td></tr>
7853
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007854 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007855 <tr>
7856 <th class="th_name">Property Name</th>
7857 <th class="th_type">Type</th>
7858 <th class="th_description">Description</th>
7859 <th class="th_units">Units</th>
7860 <th class="th_range">Range</th>
7861 <th class="th_notes">Notes</th>
7862 <th class="th_tags">Tags</th>
7863 </tr>
7864 </thead>
7865
7866 <tbody>
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7880 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7881 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007882 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007883 <span class="entry_type_container">x</span>
7884
7885 <span class="entry_type_array">
7886 4
7887 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007888 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007889 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7890
7891
7892 </td> <!-- entry_type -->
7893
7894 <td class="entry_description">
7895 Area of raw data which corresponds to only
7896 active pixels; smaller or equal to
7897 pixelArraySize.<wbr>
7898 </td>
7899
7900 <td class="entry_units">
7901 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7902 pixel array is (0,<wbr>0)
7903 </td>
7904
7905 <td class="entry_range">
7906 </td>
7907
7908 <td class="entry_notes">
7909 </td>
7910
7911 <td class="entry_tags">
7912 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007913 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007914 </ul>
7915 </td>
7916
7917 </tr> <!-- end of entry -->
7918
7919
Zhijun He69fc0ea2013-07-17 09:42:58 -07007920 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
7921 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007922 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007923 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007924 <span class="entry_type_container">x</span>
7925
7926 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007927 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007928 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007929 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07007930 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007931
7932
7933 </td> <!-- entry_type -->
7934
7935 <td class="entry_description">
7936 Range of valid sensitivities
7937 </td>
7938
7939 <td class="entry_units">
7940 </td>
7941
7942 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07007943 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007944 </td>
7945
7946 <td class="entry_notes">
7947 </td>
7948
7949 <td class="entry_tags">
7950 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007951 <li><a href="#tag_BC">BC</a></li>
7952 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007953 </ul>
7954 </td>
7955
7956 </tr> <!-- end of entry -->
7957
7958
7959 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7960 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007962 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007963
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007964 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007965
7966 <ul class="entry_type_enum">
7967 <li>
7968 <span class="entry_type_enum_name">RGGB</span>
7969 </li>
7970 <li>
7971 <span class="entry_type_enum_name">GRBG</span>
7972 </li>
7973 <li>
7974 <span class="entry_type_enum_name">GBRG</span>
7975 </li>
7976 <li>
7977 <span class="entry_type_enum_name">BGGR</span>
7978 </li>
7979 <li>
7980 <span class="entry_type_enum_name">RGB</span>
7981 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7982 values for each pixel,<wbr> instead of just 1 16-bit value
7983 per pixel.<wbr></span>
7984 </li>
7985 </ul>
7986
7987 </td> <!-- entry_type -->
7988
7989 <td class="entry_description">
7990 Arrangement of color filters on sensor;
7991 represents the colors in the top-left 2x2 section of
7992 the sensor,<wbr> in reading order
7993 </td>
7994
7995 <td class="entry_units">
7996 </td>
7997
7998 <td class="entry_range">
7999 </td>
8000
8001 <td class="entry_notes">
8002 </td>
8003
8004 <td class="entry_tags">
8005 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008006 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008007 </ul>
8008 </td>
8009
8010 </tr> <!-- end of entry -->
8011
8012
8013 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8014 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8015 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008016 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008017 <span class="entry_type_container">x</span>
8018
8019 <span class="entry_type_array">
8020 2
8021 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008022 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008023 <div class="entry_type_notes">nanoseconds</div>
8024
8025
8026 </td> <!-- entry_type -->
8027
8028 <td class="entry_description">
8029 Range of valid exposure
8030 times
8031 </td>
8032
8033 <td class="entry_units">
8034 </td>
8035
8036 <td class="entry_range">
8037 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8038 sec)
8039 </td>
8040
8041 <td class="entry_notes">
8042 </td>
8043
8044 <td class="entry_tags">
8045 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008046 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008047 </ul>
8048 </td>
8049
8050 </tr> <!-- end of entry -->
8051
8052
8053 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8054 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8055 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008056 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008057
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008058 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008059
8060
8061 </td> <!-- entry_type -->
8062
8063 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008064 Maximum possible frame duration (minimum frame
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008065 rate)
8066 </td>
8067
8068 <td class="entry_units">
8069 nanoseconds
8070 </td>
8071
8072 <td class="entry_range">
8073 >= 30e9
8074 </td>
8075
8076 <td class="entry_notes">
8077 Minimum duration is a function of resolution,<wbr>
8078 processing settings.<wbr> See
Zhijun He69fc0ea2013-07-17 09:42:58 -07008079 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8080 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8081 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008082 </td>
8083
8084 <td class="entry_tags">
8085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008086 <li><a href="#tag_BC">BC</a></li>
8087 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008088 </ul>
8089 </td>
8090
8091 </tr> <!-- end of entry -->
8092
8093
8094 <tr class="entry" id="static_android.sensor.info.physicalSize">
8095 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8096 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008097 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008098 <span class="entry_type_container">x</span>
8099
8100 <span class="entry_type_array">
8101 2
8102 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008103 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008104 <div class="entry_type_notes">width x height in millimeters</div>
8105
8106
8107 </td> <!-- entry_type -->
8108
8109 <td class="entry_description">
8110 The physical dimensions of the full pixel
8111 array
8112 </td>
8113
8114 <td class="entry_units">
8115 </td>
8116
8117 <td class="entry_range">
8118 </td>
8119
8120 <td class="entry_notes">
8121 Needed for FOV calculation for old API
8122 </td>
8123
8124 <td class="entry_tags">
8125 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008126 <li><a href="#tag_V1">V1</a></li>
8127 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008128 </ul>
8129 </td>
8130
8131 </tr> <!-- end of entry -->
8132
8133
8134 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8135 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8136 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008137 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008138 <span class="entry_type_container">x</span>
8139
8140 <span class="entry_type_array">
8141 2
8142 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008143 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008144
8145
8146 </td> <!-- entry_type -->
8147
8148 <td class="entry_description">
8149 Dimensions of full pixel array,<wbr> possibly
8150 including black calibration pixels
8151 </td>
8152
8153 <td class="entry_units">
8154 </td>
8155
8156 <td class="entry_range">
8157 </td>
8158
8159 <td class="entry_notes">
8160 Maximum output resolution for raw format must
8161 match this in
8162 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8163 </td>
8164
8165 <td class="entry_tags">
8166 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008167 <li><a href="#tag_DNG">DNG</a></li>
8168 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008169 </ul>
8170 </td>
8171
8172 </tr> <!-- end of entry -->
8173
8174
8175 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8176 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8177 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008178 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008179
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008180 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008181
8182
8183 </td> <!-- entry_type -->
8184
8185 <td class="entry_description">
8186 Maximum raw value output by
8187 sensor
8188 </td>
8189
8190 <td class="entry_units">
8191 </td>
8192
8193 <td class="entry_range">
8194 > 1024 (10-bit output)
8195 </td>
8196
8197 <td class="entry_notes">
8198 Defines sensor bit depth (10-14 bits is
8199 expected)
8200 </td>
8201
8202 <td class="entry_tags">
8203 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008204 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008205 </ul>
8206 </td>
8207
8208 </tr> <!-- end of entry -->
8209
8210
8211
8212
8213
8214 <tr class="entry" id="static_android.sensor.baseGainFactor">
8215 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8216 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008217 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008218
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008219 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008220
8221
8222 </td> <!-- entry_type -->
8223
8224 <td class="entry_description">
8225 Gain factor from electrons to raw units when
8226 ISO=100
8227 </td>
8228
8229 <td class="entry_units">
8230 </td>
8231
8232 <td class="entry_range">
8233 </td>
8234
8235 <td class="entry_notes">
8236 </td>
8237
8238 <td class="entry_tags">
8239 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008240 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008241 </ul>
8242 </td>
8243
8244 </tr> <!-- end of entry -->
8245
8246
8247 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8248 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008250 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008251 <span class="entry_type_container">x</span>
8252
8253 <span class="entry_type_array">
8254 4
8255 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008256 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008257 <div class="entry_type_notes">2x2 raw count block</div>
8258
8259
8260 </td> <!-- entry_type -->
8261
8262 <td class="entry_description">
8263 A fixed black level offset for each of the
8264 Bayer mosaic channels
8265 </td>
8266
8267 <td class="entry_units">
8268 </td>
8269
8270 <td class="entry_range">
8271 >= 0 each
8272 </td>
8273
8274 <td class="entry_notes">
8275 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8276 tags
8277 </td>
8278
8279 <td class="entry_tags">
8280 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008281 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008282 </ul>
8283 </td>
8284
8285 </tr> <!-- end of entry -->
8286
8287
8288 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8289 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8290 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008291 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008292 <span class="entry_type_container">x</span>
8293
8294 <span class="entry_type_array">
8295 9
8296 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008297 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008298 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8299
8300
8301 </td> <!-- entry_type -->
8302
8303 <td class="entry_description">
8304 Per-device calibration on top of color space
8305 transform 1
8306 </td>
8307
8308 <td class="entry_units">
8309 </td>
8310
8311 <td class="entry_range">
8312 </td>
8313
8314 <td class="entry_notes">
8315 </td>
8316
8317 <td class="entry_tags">
8318 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008319 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008320 </ul>
8321 </td>
8322
8323 </tr> <!-- end of entry -->
8324
8325
8326 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8327 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8328 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008329 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008330 <span class="entry_type_container">x</span>
8331
8332 <span class="entry_type_array">
8333 9
8334 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008335 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008336 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8337
8338
8339 </td> <!-- entry_type -->
8340
8341 <td class="entry_description">
8342 Per-device calibration on top of color space
8343 transform 2
8344 </td>
8345
8346 <td class="entry_units">
8347 </td>
8348
8349 <td class="entry_range">
8350 </td>
8351
8352 <td class="entry_notes">
8353 </td>
8354
8355 <td class="entry_tags">
8356 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008357 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008358 </ul>
8359 </td>
8360
8361 </tr> <!-- end of entry -->
8362
8363
8364 <tr class="entry" id="static_android.sensor.colorTransform1">
8365 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8366 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008367 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008368 <span class="entry_type_container">x</span>
8369
8370 <span class="entry_type_array">
8371 9
8372 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008373 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008374 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8375
8376
8377 </td> <!-- entry_type -->
8378
8379 <td class="entry_description">
8380 Linear mapping from XYZ (D50) color space to
8381 reference linear sensor color,<wbr> for first reference
8382 illuminant
8383 </td>
8384
8385 <td class="entry_units">
8386 </td>
8387
8388 <td class="entry_range">
8389 </td>
8390
8391 <td class="entry_notes">
8392 Use as follows XYZ = inv(transform) * clip( (raw -
8393 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8394 At least in the simple case
8395 </td>
8396
8397 <td class="entry_tags">
8398 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008399 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008400 </ul>
8401 </td>
8402
8403 </tr> <!-- end of entry -->
8404
8405
8406 <tr class="entry" id="static_android.sensor.colorTransform2">
8407 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8408 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008409 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008410 <span class="entry_type_container">x</span>
8411
8412 <span class="entry_type_array">
8413 9
8414 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008415 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008416 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8417
8418
8419 </td> <!-- entry_type -->
8420
8421 <td class="entry_description">
8422 Linear mapping from XYZ (D50) color space to
8423 reference linear sensor color,<wbr> for second reference
8424 illuminant
8425 </td>
8426
8427 <td class="entry_units">
8428 </td>
8429
8430 <td class="entry_range">
8431 </td>
8432
8433 <td class="entry_notes">
8434 </td>
8435
8436 <td class="entry_tags">
8437 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008438 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008439 </ul>
8440 </td>
8441
8442 </tr> <!-- end of entry -->
8443
8444
8445 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8446 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8447 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008448 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008449 <span class="entry_type_container">x</span>
8450
8451 <span class="entry_type_array">
8452 9
8453 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008454 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008455 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8456
8457
8458 </td> <!-- entry_type -->
8459
8460 <td class="entry_description">
8461 Used by DNG for better WB
8462 adaptation
8463 </td>
8464
8465 <td class="entry_units">
8466 </td>
8467
8468 <td class="entry_range">
8469 </td>
8470
8471 <td class="entry_notes">
8472 </td>
8473
8474 <td class="entry_tags">
8475 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008476 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008477 </ul>
8478 </td>
8479
8480 </tr> <!-- end of entry -->
8481
8482
8483 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8484 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8485 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008486 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008487 <span class="entry_type_container">x</span>
8488
8489 <span class="entry_type_array">
8490 9
8491 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008492 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008493 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8494
8495
8496 </td> <!-- entry_type -->
8497
8498 <td class="entry_description">
8499 Used by DNG for better WB
8500 adaptation
8501 </td>
8502
8503 <td class="entry_units">
8504 </td>
8505
8506 <td class="entry_range">
8507 </td>
8508
8509 <td class="entry_notes">
8510 </td>
8511
8512 <td class="entry_tags">
8513 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008514 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008515 </ul>
8516 </td>
8517
8518 </tr> <!-- end of entry -->
8519
8520
8521 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8522 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8523 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008524 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008525
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008526 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008527
8528
8529 </td> <!-- entry_type -->
8530
8531 <td class="entry_description">
8532 Maximum sensitivity that is implemented
8533 purely through analog gain
8534 </td>
8535
8536 <td class="entry_units">
8537 </td>
8538
8539 <td class="entry_range">
8540 </td>
8541
8542 <td class="entry_notes">
8543 For android.<wbr>sensor.<wbr>sensitivity values less than or
8544 equal to this,<wbr> all applied gain must be analog.<wbr> For
8545 values above this,<wbr> it can be a mix of analog and
8546 digital
8547 </td>
8548
8549 <td class="entry_tags">
8550 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008551 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008552 </ul>
8553 </td>
8554
8555 </tr> <!-- end of entry -->
8556
8557
8558 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8559 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8560 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008561 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008562 <span class="entry_type_container">x</span>
8563
8564 <span class="entry_type_array">
8565 2
8566 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008567 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008568 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8569
8570
8571 </td> <!-- entry_type -->
8572
8573 <td class="entry_description">
8574 Estimation of sensor noise
8575 characteristics
8576 </td>
8577
8578 <td class="entry_units">
8579 var(raw pixel value) = electrons * (baseGainFactor
8580 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8581 B
8582 </td>
8583
8584 <td class="entry_range">
8585 </td>
8586
8587 <td class="entry_notes">
8588 A represents sensor read noise before analog
8589 amplification; B represents noise from A/<wbr>D conversion and
8590 other circuits after amplification.<wbr> Both noise sources
8591 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8592 across the sensor
8593 </td>
8594
8595 <td class="entry_tags">
8596 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008597 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008598 </ul>
8599 </td>
8600
8601 </tr> <!-- end of entry -->
8602
8603
8604 <tr class="entry" id="static_android.sensor.orientation">
8605 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8606 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008607 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008608
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008609 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008610
8611
8612 </td> <!-- entry_type -->
8613
8614 <td class="entry_description">
8615 Clockwise angle through which the output
8616 image needs to be rotated to be upright on the device
8617 screen in its native orientation.<wbr> Also defines the
8618 direction of rolling shutter readout,<wbr> which is from top
8619 to bottom in the sensor's coordinate system
8620 </td>
8621
8622 <td class="entry_units">
8623 degrees clockwise rotation,<wbr> only multiples of
8624 90
8625 </td>
8626
8627 <td class="entry_range">
8628 0,<wbr>90,<wbr>180,<wbr>270
8629 </td>
8630
8631 <td class="entry_notes">
8632 </td>
8633
8634 <td class="entry_tags">
8635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008636 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008637 </ul>
8638 </td>
8639
8640 </tr> <!-- end of entry -->
8641
8642
8643 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8644 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8645 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008646 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008647
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008648 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008649
8650 <ul class="entry_type_enum">
8651 <li>
8652 <span class="entry_type_enum_name">DAYLIGHT</span>
8653 <span class="entry_type_enum_value">1</span>
8654 </li>
8655 <li>
8656 <span class="entry_type_enum_name">FLUORESCENT</span>
8657 <span class="entry_type_enum_value">2</span>
8658 </li>
8659 <li>
8660 <span class="entry_type_enum_name">TUNGSTEN</span>
8661 <span class="entry_type_enum_value">3</span>
8662 <span class="entry_type_enum_notes">Incandescent light</span>
8663 </li>
8664 <li>
8665 <span class="entry_type_enum_name">FLASH</span>
8666 <span class="entry_type_enum_value">4</span>
8667 </li>
8668 <li>
8669 <span class="entry_type_enum_name">FINE_WEATHER</span>
8670 <span class="entry_type_enum_value">9</span>
8671 </li>
8672 <li>
8673 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8674 <span class="entry_type_enum_value">10</span>
8675 </li>
8676 <li>
8677 <span class="entry_type_enum_name">SHADE</span>
8678 <span class="entry_type_enum_value">11</span>
8679 </li>
8680 <li>
8681 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8682 <span class="entry_type_enum_value">12</span>
8683 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8684 </li>
8685 <li>
8686 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8687 <span class="entry_type_enum_value">13</span>
8688 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8689 </li>
8690 <li>
8691 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8692 <span class="entry_type_enum_value">14</span>
8693 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8694 </li>
8695 <li>
8696 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8697 <span class="entry_type_enum_value">15</span>
8698 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8699 </li>
8700 <li>
8701 <span class="entry_type_enum_name">STANDARD_A</span>
8702 <span class="entry_type_enum_value">17</span>
8703 </li>
8704 <li>
8705 <span class="entry_type_enum_name">STANDARD_B</span>
8706 <span class="entry_type_enum_value">18</span>
8707 </li>
8708 <li>
8709 <span class="entry_type_enum_name">STANDARD_C</span>
8710 <span class="entry_type_enum_value">19</span>
8711 </li>
8712 <li>
8713 <span class="entry_type_enum_name">D55</span>
8714 <span class="entry_type_enum_value">20</span>
8715 </li>
8716 <li>
8717 <span class="entry_type_enum_name">D65</span>
8718 <span class="entry_type_enum_value">21</span>
8719 </li>
8720 <li>
8721 <span class="entry_type_enum_name">D75</span>
8722 <span class="entry_type_enum_value">22</span>
8723 </li>
8724 <li>
8725 <span class="entry_type_enum_name">D50</span>
8726 <span class="entry_type_enum_value">23</span>
8727 </li>
8728 <li>
8729 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8730 <span class="entry_type_enum_value">24</span>
8731 </li>
8732 </ul>
8733
8734 </td> <!-- entry_type -->
8735
8736 <td class="entry_description">
8737 Light source used to define transform
8738 1
8739 </td>
8740
8741 <td class="entry_units">
8742 </td>
8743
8744 <td class="entry_range">
8745 </td>
8746
8747 <td class="entry_notes">
8748 [EXIF LightSource tag] Must all these be
8749 supported? Need CCT for each!
8750 </td>
8751
8752 <td class="entry_tags">
8753 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008754 <li><a href="#tag_DNG">DNG</a></li>
8755 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008756 </ul>
8757 </td>
8758
8759 </tr> <!-- end of entry -->
8760
8761
8762 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8763 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8764 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008765 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008766
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008767 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008768
8769
8770 </td> <!-- entry_type -->
8771
8772 <td class="entry_description">
8773 Light source used to define transform
8774 2
8775 </td>
8776
8777 <td class="entry_units">
8778 Same as illuminant 1
8779 </td>
8780
8781 <td class="entry_range">
8782 </td>
8783
8784 <td class="entry_notes">
8785 </td>
8786
8787 <td class="entry_tags">
8788 </td>
8789
8790 </tr> <!-- end of entry -->
8791
8792
8793
8794 <!-- end of kind -->
8795 </tbody>
8796 <tr><td colspan="7" class="kind">dynamic</td></tr>
8797
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008798 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008799 <tr>
8800 <th class="th_name">Property Name</th>
8801 <th class="th_type">Type</th>
8802 <th class="th_description">Description</th>
8803 <th class="th_units">Units</th>
8804 <th class="th_range">Range</th>
8805 <th class="th_notes">Notes</th>
8806 <th class="th_tags">Tags</th>
8807 </tr>
8808 </thead>
8809
8810 <tbody>
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8822 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8823 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008824 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008825
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008826 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008827
8828
8829 </td> <!-- entry_type -->
8830
8831 <td class="entry_description">
8832 Duration each pixel is exposed to
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008833 light.<wbr>
8834<br>
8835<br> If the sensor can't expose this exact duration,<wbr> it should shorten the
8836 duration exposed to the nearest possible value (rather than expose longer).<wbr>
8837
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008838 </td>
8839
8840 <td class="entry_units">
8841 nanoseconds
8842 </td>
8843
8844 <td class="entry_range">
8845 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8846 </td>
8847
8848 <td class="entry_notes">
8849 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8850 </td>
8851
8852 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008853 <ul class="entry_tags">
8854 <li><a href="#tag_V1">V1</a></li>
8855 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008856 </td>
8857
8858 </tr> <!-- end of entry -->
8859
8860
8861 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8862 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8863 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008864 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008865
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008866 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008867
8868
8869 </td> <!-- entry_type -->
8870
8871 <td class="entry_description">
8872 Duration from start of frame exposure to
8873 start of next frame exposure
8874 </td>
8875
8876 <td class="entry_units">
8877 nanoseconds
8878 </td>
8879
8880 <td class="entry_range">
8881 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8882 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8883 </td>
8884
8885 <td class="entry_notes">
8886 Exposure time has priority,<wbr> so duration is set to
8887 max(duration,<wbr> exposure time + overhead)
8888 </td>
8889
8890 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008891 <ul class="entry_tags">
8892 <li><a href="#tag_V1">V1</a></li>
8893 <li><a href="#tag_BC">BC</a></li>
8894 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008895 </td>
8896
8897 </tr> <!-- end of entry -->
8898
8899
8900 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8901 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8902 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008903 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008904
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008905 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008906
8907
8908 </td> <!-- entry_type -->
8909
8910 <td class="entry_description">
8911 Gain applied to image data.<wbr> Must be
8912 implemented through analog gain only if set to values
8913 below 'maximum analog sensitivity'.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008914<br>
8915<br> If the sensor can't apply this exact gain,<wbr> it should lessen the
8916 gain to the nearest possible value (rather than gain more).<wbr>
8917
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008918 </td>
8919
8920 <td class="entry_units">
8921 ISO arithmetic units
8922 </td>
8923
8924 <td class="entry_range">
8925 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8926 </td>
8927
8928 <td class="entry_notes">
8929 ISO 12232:2006 REI method
8930 </td>
8931
8932 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008933 <ul class="entry_tags">
8934 <li><a href="#tag_V1">V1</a></li>
8935 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008936 </td>
8937
8938 </tr> <!-- end of entry -->
8939
8940
8941 <tr class="entry" id="dynamic_android.sensor.timestamp">
8942 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8943 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008944 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008945
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008947
8948
8949 </td> <!-- entry_type -->
8950
8951 <td class="entry_description">
8952 Time at start of exposure of first
8953 row
8954 </td>
8955
8956 <td class="entry_units">
8957 nanoseconds
8958 </td>
8959
8960 <td class="entry_range">
8961 > 0
8962 </td>
8963
8964 <td class="entry_notes">
8965 Monotonic,<wbr> should be synced to other timestamps in
8966 system
8967 </td>
8968
8969 <td class="entry_tags">
8970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008971 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008972 </ul>
8973 </td>
8974
8975 </tr> <!-- end of entry -->
8976
Igor Murashkin656aa5a2013-08-13 14:23:39 -07008977
8978 <tr class="entry" id="dynamic_android.sensor.temperature">
8979 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
8980 <td class="entry_type">
8981 <span class="entry_type_name">float</span>
8982
8983 <span class="entry_type_visibility"> [public]</span>
8984
8985
8986 </td> <!-- entry_type -->
8987
8988 <td class="entry_description">
8989 The temperature of the sensor,<wbr> sampled at the time
8990 exposure began for this frame.<wbr>
8991<br>
8992<br> The thermal diode being queried should be inside the sensor PCB,<wbr> or
8993 somewhere close to it.<wbr>
8994
8995 </td>
8996
8997 <td class="entry_units">
8998 celsius
8999 </td>
9000
9001 <td class="entry_range">
9002 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9003 </td>
9004
9005 <td class="entry_notes">
9006 </td>
9007
9008 <td class="entry_tags">
9009 </td>
9010
9011 </tr> <!-- end of entry -->
9012
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009013
9014
9015 <!-- end of kind -->
9016 </tbody>
9017
9018 <!-- end of section -->
9019 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9020
9021
9022 <tr><td colspan="7" class="kind">controls</td></tr>
9023
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009024 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009025 <tr>
9026 <th class="th_name">Property Name</th>
9027 <th class="th_type">Type</th>
9028 <th class="th_description">Description</th>
9029 <th class="th_units">Units</th>
9030 <th class="th_range">Range</th>
9031 <th class="th_notes">Notes</th>
9032 <th class="th_tags">Tags</th>
9033 </tr>
9034 </thead>
9035
9036 <tbody>
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047 <tr class="entry" id="controls_android.shading.mode">
9048 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9049 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009050 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009051
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009052 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009053
9054 <ul class="entry_type_enum">
9055 <li>
9056 <span class="entry_type_enum_name">OFF</span>
9057 <span class="entry_type_enum_notes">No shading correction is applied</span>
9058 </li>
9059 <li>
9060 <span class="entry_type_enum_name">FAST</span>
9061 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9062 bayer output</span>
9063 </li>
9064 <li>
9065 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9066 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9067 quality</span>
9068 </li>
9069 </ul>
9070
9071 </td> <!-- entry_type -->
9072
9073 <td class="entry_description">
9074 Quality of lens shading correction applied
9075 to the image data
9076 </td>
9077
9078 <td class="entry_units">
9079 </td>
9080
9081 <td class="entry_range">
9082 </td>
9083
9084 <td class="entry_notes">
9085 </td>
9086
9087 <td class="entry_tags">
9088 </td>
9089
9090 </tr> <!-- end of entry -->
9091
9092
9093 <tr class="entry" id="controls_android.shading.strength">
9094 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9095 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009096 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009097
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009098 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009099
9100
9101 </td> <!-- entry_type -->
9102
9103 <td class="entry_description">
9104 Control the amount of shading correction
9105 applied to the images
9106 </td>
9107
9108 <td class="entry_units">
9109 unitless: 1-10; 10 is full shading
9110 compensation
9111 </td>
9112
9113 <td class="entry_range">
9114 </td>
9115
9116 <td class="entry_notes">
9117 </td>
9118
9119 <td class="entry_tags">
9120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009121 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009122 </ul>
9123 </td>
9124
9125 </tr> <!-- end of entry -->
9126
9127
9128
9129 <!-- end of kind -->
9130 </tbody>
9131 <tr><td colspan="7" class="kind">dynamic</td></tr>
9132
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009133 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009134 <tr>
9135 <th class="th_name">Property Name</th>
9136 <th class="th_type">Type</th>
9137 <th class="th_description">Description</th>
9138 <th class="th_units">Units</th>
9139 <th class="th_range">Range</th>
9140 <th class="th_notes">Notes</th>
9141 <th class="th_tags">Tags</th>
9142 </tr>
9143 </thead>
9144
9145 <tbody>
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156 <tr class="entry" id="dynamic_android.shading.mode">
9157 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9158 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009159 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009160
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009161 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009162
9163 <ul class="entry_type_enum">
9164 <li>
9165 <span class="entry_type_enum_name">OFF</span>
9166 <span class="entry_type_enum_notes">No shading correction is applied</span>
9167 </li>
9168 <li>
9169 <span class="entry_type_enum_name">FAST</span>
9170 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9171 bayer output</span>
9172 </li>
9173 <li>
9174 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9175 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9176 quality</span>
9177 </li>
9178 </ul>
9179
9180 </td> <!-- entry_type -->
9181
9182 <td class="entry_description">
9183 Quality of lens shading correction applied
9184 to the image data
9185 </td>
9186
9187 <td class="entry_units">
9188 </td>
9189
9190 <td class="entry_range">
9191 </td>
9192
9193 <td class="entry_notes">
9194 </td>
9195
9196 <td class="entry_tags">
9197 </td>
9198
9199 </tr> <!-- end of entry -->
9200
9201
9202
9203 <!-- end of kind -->
9204 </tbody>
9205
9206 <!-- end of section -->
9207 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9208
9209
9210 <tr><td colspan="7" class="kind">controls</td></tr>
9211
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009212 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009213 <tr>
9214 <th class="th_name">Property Name</th>
9215 <th class="th_type">Type</th>
9216 <th class="th_description">Description</th>
9217 <th class="th_units">Units</th>
9218 <th class="th_range">Range</th>
9219 <th class="th_notes">Notes</th>
9220 <th class="th_tags">Tags</th>
9221 </tr>
9222 </thead>
9223
9224 <tbody>
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9236 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9237 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009238 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009239
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009240 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009241
9242 <ul class="entry_type_enum">
9243 <li>
9244 <span class="entry_type_enum_name">OFF</span>
9245 </li>
9246 <li>
9247 <span class="entry_type_enum_name">SIMPLE</span>
9248 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9249 only</span>
9250 </li>
9251 <li>
9252 <span class="entry_type_enum_name">FULL</span>
9253 <span class="entry_type_enum_notes">Optional Return all face
9254 metadata</span>
9255 </li>
9256 </ul>
9257
9258 </td> <!-- entry_type -->
9259
9260 <td class="entry_description">
9261 State of the face detector
9262 unit
9263 </td>
9264
9265 <td class="entry_units">
9266 </td>
9267
9268 <td class="entry_range">
9269
Zhijun He69fc0ea2013-07-17 09:42:58 -07009270 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009271 </td>
9272
9273 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009274 Whether face detection is enabled,<wbr> and whether it
9275 should output just the basic fields or the full set of
9276 fields.<wbr> Value must be one of the
9277 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009278 </td>
9279
9280 <td class="entry_tags">
9281 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009282 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009283 </ul>
9284 </td>
9285
9286 </tr> <!-- end of entry -->
9287
9288
9289 <tr class="entry" id="controls_android.statistics.histogramMode">
9290 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9291 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009292 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009293
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009294 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009295
9296 <ul class="entry_type_enum">
9297 <li>
9298 <span class="entry_type_enum_name">OFF</span>
9299 </li>
9300 <li>
9301 <span class="entry_type_enum_name">ON</span>
9302 </li>
9303 </ul>
9304
9305 </td> <!-- entry_type -->
9306
9307 <td class="entry_description">
9308 Operating mode for histogram
9309 generation
9310 </td>
9311
9312 <td class="entry_units">
9313 </td>
9314
9315 <td class="entry_range">
9316 </td>
9317
9318 <td class="entry_notes">
9319 </td>
9320
9321 <td class="entry_tags">
9322 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009323 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009324 </ul>
9325 </td>
9326
9327 </tr> <!-- end of entry -->
9328
9329
9330 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9331 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9332 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009333 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009334
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009335 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009336
9337 <ul class="entry_type_enum">
9338 <li>
9339 <span class="entry_type_enum_name">OFF</span>
9340 </li>
9341 <li>
9342 <span class="entry_type_enum_name">ON</span>
9343 </li>
9344 </ul>
9345
9346 </td> <!-- entry_type -->
9347
9348 <td class="entry_description">
9349 Operating mode for sharpness map
9350 generation
9351 </td>
9352
9353 <td class="entry_units">
9354 </td>
9355
9356 <td class="entry_range">
9357 </td>
9358
9359 <td class="entry_notes">
9360 </td>
9361
9362 <td class="entry_tags">
9363 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009364 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009365 </ul>
9366 </td>
9367
9368 </tr> <!-- end of entry -->
9369
Zhijun He69fc0ea2013-07-17 09:42:58 -07009370
9371 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9372 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9373 <td class="entry_type">
9374 <span class="entry_type_name entry_type_name_enum">byte</span>
9375
9376 <span class="entry_type_visibility"> [public]</span>
9377
9378 <ul class="entry_type_enum">
9379 <li>
9380 <span class="entry_type_enum_name">OFF</span>
9381 </li>
9382 <li>
9383 <span class="entry_type_enum_name">ON</span>
9384 </li>
9385 </ul>
9386
9387 </td> <!-- entry_type -->
9388
9389 <td class="entry_description">
9390 Whether the HAL needs to output the lens
9391 shading map in output result metadata
9392 </td>
9393
9394 <td class="entry_units">
9395 </td>
9396
9397 <td class="entry_range">
9398 </td>
9399
9400 <td class="entry_notes">
9401 When set to ON,<wbr>
9402 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9403 the output result metdata.<wbr>
9404 </td>
9405
9406 <td class="entry_tags">
9407 </td>
9408
9409 </tr> <!-- end of entry -->
9410
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009411
9412
9413 <!-- end of kind -->
9414 </tbody>
9415 <tr><td colspan="7" class="kind">static</td></tr>
9416
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009417 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009418 <tr>
9419 <th class="th_name">Property Name</th>
9420 <th class="th_type">Type</th>
9421 <th class="th_description">Description</th>
9422 <th class="th_units">Units</th>
9423 <th class="th_range">Range</th>
9424 <th class="th_notes">Notes</th>
9425 <th class="th_tags">Tags</th>
9426 </tr>
9427 </thead>
9428
9429 <tbody>
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9443 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9444 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009445 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009446 <span class="entry_type_container">x</span>
9447
9448 <span class="entry_type_array">
9449 n
9450 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009451 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009452 <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 -08009453
9454
9455 </td> <!-- entry_type -->
9456
9457 <td class="entry_description">
9458 Which face detection modes are available,<wbr>
9459 if any
9460 </td>
9461
9462 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009463 List of enum:
9464 OFF
9465 SIMPLE
9466 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009467 </td>
9468
9469 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009470 </td>
9471
9472 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009473 OFF means face detection is disabled,<wbr> it must
9474 be included in the list.<wbr>
9475<br>
9476<br> SIMPLE means the device supports the
9477 android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9478 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr>
9479<br>
9480<br> FULL means the device additionally supports the
9481 android.<wbr>statistics.<wbr>face<wbr>Ids and
9482 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr>
9483
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009484 </td>
9485
9486 <td class="entry_tags">
9487 </td>
9488
9489 </tr> <!-- end of entry -->
9490
9491
9492 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9493 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9494 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009495 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009496
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009497 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009498
9499
9500 </td> <!-- entry_type -->
9501
9502 <td class="entry_description">
9503 Number of histogram buckets
9504 supported
9505 </td>
9506
9507 <td class="entry_units">
9508 </td>
9509
9510 <td class="entry_range">
9511 >= 64
9512 </td>
9513
9514 <td class="entry_notes">
9515 </td>
9516
9517 <td class="entry_tags">
9518 </td>
9519
9520 </tr> <!-- end of entry -->
9521
9522
9523 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9524 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9525 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009526 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009527
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009528 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009529
9530
9531 </td> <!-- entry_type -->
9532
9533 <td class="entry_description">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009534 Maximum number of simultaneously detectable
9535 faces
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009536 </td>
9537
9538 <td class="entry_units">
9539 </td>
9540
9541 <td class="entry_range">
9542 >= 4 if availableFaceDetectionModes lists
9543 modes besides OFF,<wbr> otherwise 0
9544 </td>
9545
9546 <td class="entry_notes">
9547 </td>
9548
9549 <td class="entry_tags">
9550 </td>
9551
9552 </tr> <!-- end of entry -->
9553
9554
9555 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9556 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009558 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009559
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009560 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009561
9562
9563 </td> <!-- entry_type -->
9564
9565 <td class="entry_description">
9566 Maximum value possible for a histogram
9567 bucket
9568 </td>
9569
9570 <td class="entry_units">
9571 </td>
9572
9573 <td class="entry_range">
9574 </td>
9575
9576 <td class="entry_notes">
9577 </td>
9578
9579 <td class="entry_tags">
9580 </td>
9581
9582 </tr> <!-- end of entry -->
9583
9584
9585 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9586 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9587 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009588 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009589
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009590 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009591
9592
9593 </td> <!-- entry_type -->
9594
9595 <td class="entry_description">
9596 Maximum value possible for a sharpness map
9597 region.<wbr>
9598 </td>
9599
9600 <td class="entry_units">
9601 </td>
9602
9603 <td class="entry_range">
9604 </td>
9605
9606 <td class="entry_notes">
9607 </td>
9608
9609 <td class="entry_tags">
9610 </td>
9611
9612 </tr> <!-- end of entry -->
9613
9614
9615 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9616 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9617 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009618 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009619 <span class="entry_type_container">x</span>
9620
9621 <span class="entry_type_array">
9622 2
9623 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009624 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009625 <div class="entry_type_notes">width x height</div>
9626
9627
9628 </td> <!-- entry_type -->
9629
9630 <td class="entry_description">
9631 Dimensions of the sharpness
9632 map
9633 </td>
9634
9635 <td class="entry_units">
9636 </td>
9637
9638 <td class="entry_range">
9639 Must be at least 32 x 32
9640 </td>
9641
9642 <td class="entry_notes">
9643 </td>
9644
9645 <td class="entry_tags">
9646 </td>
9647
9648 </tr> <!-- end of entry -->
9649
9650
9651
9652
9653
9654
9655 <!-- end of kind -->
9656 </tbody>
9657 <tr><td colspan="7" class="kind">dynamic</td></tr>
9658
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009659 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660 <tr>
9661 <th class="th_name">Property Name</th>
9662 <th class="th_type">Type</th>
9663 <th class="th_description">Description</th>
9664 <th class="th_units">Units</th>
9665 <th class="th_range">Range</th>
9666 <th class="th_notes">Notes</th>
9667 <th class="th_tags">Tags</th>
9668 </tr>
9669 </thead>
9670
9671 <tbody>
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9683 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009685 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009686
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009687 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009688
9689 <ul class="entry_type_enum">
9690 <li>
9691 <span class="entry_type_enum_name">OFF</span>
9692 </li>
9693 <li>
9694 <span class="entry_type_enum_name">SIMPLE</span>
9695 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9696 only</span>
9697 </li>
9698 <li>
9699 <span class="entry_type_enum_name">FULL</span>
9700 <span class="entry_type_enum_notes">Optional Return all face
9701 metadata</span>
9702 </li>
9703 </ul>
9704
9705 </td> <!-- entry_type -->
9706
9707 <td class="entry_description">
9708 State of the face detector
9709 unit
9710 </td>
9711
9712 <td class="entry_units">
9713 </td>
9714
9715 <td class="entry_range">
9716
Zhijun He69fc0ea2013-07-17 09:42:58 -07009717 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009718 </td>
9719
9720 <td class="entry_notes">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009721 Whether face detection is enabled,<wbr> and whether it
9722 should output just the basic fields or the full set of
9723 fields.<wbr> Value must be one of the
9724 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009725 </td>
9726
9727 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009728 <ul class="entry_tags">
9729 <li><a href="#tag_BC">BC</a></li>
9730 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009731 </td>
9732
9733 </tr> <!-- end of entry -->
9734
9735
9736 <tr class="entry" id="dynamic_android.statistics.faceIds">
9737 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9738 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009739 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009740 <span class="entry_type_container">x</span>
9741
9742 <span class="entry_type_array">
9743 n
9744 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009745 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009746
9747
9748 </td> <!-- entry_type -->
9749
9750 <td class="entry_description">
9751 List of unique IDs for detected
9752 faces
9753 </td>
9754
9755 <td class="entry_units">
9756 </td>
9757
9758 <td class="entry_range">
9759 </td>
9760
9761 <td class="entry_notes">
9762 Only available if faceDetectMode == FULL
9763 </td>
9764
9765 <td class="entry_tags">
9766 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009767 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009768 </ul>
9769 </td>
9770
9771 </tr> <!-- end of entry -->
9772
9773
9774 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9775 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9776 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009777 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009778 <span class="entry_type_container">x</span>
9779
9780 <span class="entry_type_array">
9781 n x 6
9782 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009783 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009784 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9785
9786
9787 </td> <!-- entry_type -->
9788
9789 <td class="entry_description">
9790 List of landmarks for detected
9791 faces
9792 </td>
9793
9794 <td class="entry_units">
9795 </td>
9796
9797 <td class="entry_range">
9798 </td>
9799
9800 <td class="entry_notes">
9801 Only available if faceDetectMode == FULL
9802 </td>
9803
9804 <td class="entry_tags">
9805 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009806 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009807 </ul>
9808 </td>
9809
9810 </tr> <!-- end of entry -->
9811
9812
9813 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9814 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9815 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009816 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009817 <span class="entry_type_container">x</span>
9818
9819 <span class="entry_type_array">
9820 n x 4
9821 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009822 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009823 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9824
9825
9826 </td> <!-- entry_type -->
9827
9828 <td class="entry_description">
9829 List of the bounding rectangles for detected
9830 faces
9831 </td>
9832
9833 <td class="entry_units">
9834 </td>
9835
9836 <td class="entry_range">
9837 </td>
9838
9839 <td class="entry_notes">
9840 Only available if faceDetectMode != OFF
9841 </td>
9842
9843 <td class="entry_tags">
9844 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009845 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009846 </ul>
9847 </td>
9848
9849 </tr> <!-- end of entry -->
9850
9851
9852 <tr class="entry" id="dynamic_android.statistics.faceScores">
9853 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9854 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009855 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009856 <span class="entry_type_container">x</span>
9857
9858 <span class="entry_type_array">
9859 n
9860 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009861 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009862
9863
9864 </td> <!-- entry_type -->
9865
9866 <td class="entry_description">
9867 List of the face confidence scores for
9868 detected faces
9869 </td>
9870
9871 <td class="entry_units">
9872 </td>
9873
9874 <td class="entry_range">
9875 0-100
9876 </td>
9877
9878 <td class="entry_notes">
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009879 Only available if faceDetectMode != OFF.<wbr> The value should be
9880 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009881 </td>
9882
9883 <td class="entry_tags">
9884 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009885 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009886 </ul>
9887 </td>
9888
9889 </tr> <!-- end of entry -->
9890
9891
9892 <tr class="entry" id="dynamic_android.statistics.histogram">
9893 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9894 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009895 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009896 <span class="entry_type_container">x</span>
9897
9898 <span class="entry_type_array">
9899 n x 3
9900 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009901 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009902 <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>
9903
9904
9905 </td> <!-- entry_type -->
9906
9907 <td class="entry_description">
9908 A 3-channel histogram based on the raw
9909 sensor data
9910 </td>
9911
9912 <td class="entry_units">
9913 </td>
9914
9915 <td class="entry_range">
9916 </td>
9917
9918 <td class="entry_notes">
9919 The k'th bucket (0-based) covers the input range
9920 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9921 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9922 supported,<wbr> all channels should have the same data
9923 </td>
9924
9925 <td class="entry_tags">
9926 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009927 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009928 </ul>
9929 </td>
9930
9931 </tr> <!-- end of entry -->
9932
9933
9934 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9935 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9936 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009937 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009938
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009939 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009940
9941 <ul class="entry_type_enum">
9942 <li>
9943 <span class="entry_type_enum_name">OFF</span>
9944 </li>
9945 <li>
9946 <span class="entry_type_enum_name">ON</span>
9947 </li>
9948 </ul>
9949
9950 </td> <!-- entry_type -->
9951
9952 <td class="entry_description">
9953 Operating mode for histogram
9954 generation
9955 </td>
9956
9957 <td class="entry_units">
9958 </td>
9959
9960 <td class="entry_range">
9961 </td>
9962
9963 <td class="entry_notes">
9964 </td>
9965
9966 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009967 <ul class="entry_tags">
9968 <li><a href="#tag_V1">V1</a></li>
9969 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009970 </td>
9971
9972 </tr> <!-- end of entry -->
9973
9974
9975 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9976 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9977 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009978 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009979 <span class="entry_type_container">x</span>
9980
9981 <span class="entry_type_array">
9982 n x m x 3
9983 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009984 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009985 <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>
9986
9987
9988 </td> <!-- entry_type -->
9989
9990 <td class="entry_description">
9991 A 3-channel sharpness map,<wbr> based on the raw
9992 sensor data
9993 </td>
9994
9995 <td class="entry_units">
9996 </td>
9997
9998 <td class="entry_range">
9999 </td>
10000
10001 <td class="entry_notes">
10002 If only a monochrome sharpness map is supported,<wbr>
10003 all channels should have the same data
10004 </td>
10005
10006 <td class="entry_tags">
10007 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010008 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010009 </ul>
10010 </td>
10011
10012 </tr> <!-- end of entry -->
10013
10014
10015 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10016 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10017 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010018 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010019
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010020 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010021
10022 <ul class="entry_type_enum">
10023 <li>
10024 <span class="entry_type_enum_name">OFF</span>
10025 </li>
10026 <li>
10027 <span class="entry_type_enum_name">ON</span>
10028 </li>
10029 </ul>
10030
10031 </td> <!-- entry_type -->
10032
10033 <td class="entry_description">
10034 Operating mode for sharpness map
10035 generation
10036 </td>
10037
10038 <td class="entry_units">
10039 </td>
10040
10041 <td class="entry_range">
10042 </td>
10043
10044 <td class="entry_notes">
10045 </td>
10046
10047 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010048 <ul class="entry_tags">
10049 <li><a href="#tag_V1">V1</a></li>
10050 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010051 </td>
10052
10053 </tr> <!-- end of entry -->
10054
Zhijun He69fc0ea2013-07-17 09:42:58 -070010055
10056 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10057 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10058 <td class="entry_type">
10059 <span class="entry_type_name">float</span>
10060 <span class="entry_type_container">x</span>
10061
10062 <span class="entry_type_array">
10063 4 x n x m
10064 </span>
10065 <span class="entry_type_visibility"> [public]</span>
10066 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10067
10068
10069 </td> <!-- entry_type -->
10070
10071 <td class="entry_description">
10072 A low-resolution map of lens shading,<wbr> per
10073 color channel
10074 </td>
10075
10076 <td class="entry_units">
10077 </td>
10078
10079 <td class="entry_range">
10080 Each gain factor is >= 1
10081 </td>
10082
10083 <td class="entry_notes">
10084 Assume bilinear interpolation of map.<wbr> The least
10085 shaded section of the image should have a gain factor
10086 of 1; all other sections should have gains above 1.<wbr>
10087 the map should be on the order of 30-40 rows,<wbr> and
10088 must be smaller than 64x64.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010089<br>
10090<br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10091 must take into account the colorCorrection settings.<wbr>
10092
Zhijun He69fc0ea2013-07-17 09:42:58 -070010093 </td>
10094
10095 <td class="entry_tags">
10096 </td>
10097
10098 </tr> <!-- end of entry -->
10099
10100
10101 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10102 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10103 <td class="entry_type">
10104 <span class="entry_type_name">float</span>
10105 <span class="entry_type_container">x</span>
10106
10107 <span class="entry_type_array">
10108 4
10109 </span>
10110 <span class="entry_type_visibility"> [public]</span>
10111 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10112
10113
10114 </td> <!-- entry_type -->
10115
10116 <td class="entry_description">
10117 The best-fit color channel gains calculated
10118 by the HAL's statistics units for the current output frame
10119
10120 </td>
10121
10122 <td class="entry_units">
10123 </td>
10124
10125 <td class="entry_range">
10126 </td>
10127
10128 <td class="entry_notes">
10129
10130 This may be different than the gains used for this frame,<wbr>
10131 since statistics processing on data from a new frame
10132 typically completes after the transform has already been
10133 applied to that frame.<wbr>
10134<br>
10135<br> The 4 channel gains are defined in Bayer domain,<wbr>
10136 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010137<br>
10138<br> This value should always be calculated by the AWB block,<wbr>
10139 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
10140
Zhijun He69fc0ea2013-07-17 09:42:58 -070010141 </td>
10142
10143 <td class="entry_tags">
10144 </td>
10145
10146 </tr> <!-- end of entry -->
10147
10148
10149 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10150 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10151 <td class="entry_type">
10152 <span class="entry_type_name">rational</span>
10153 <span class="entry_type_container">x</span>
10154
10155 <span class="entry_type_array">
10156 3 x 3
10157 </span>
10158 <span class="entry_type_visibility"> [public]</span>
10159 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10160
10161
10162 </td> <!-- entry_type -->
10163
10164 <td class="entry_description">
10165 The best-fit color transform matrix estimate
10166 calculated by the HAL's statistics units for the current
10167 output frame
10168 </td>
10169
10170 <td class="entry_units">
10171 </td>
10172
10173 <td class="entry_range">
10174 </td>
10175
10176 <td class="entry_notes">
10177 The HAL must provide the estimate from its
10178 statistics unit on the white balance transforms to use
10179 for the next frame.<wbr> These are the values the HAL believes
10180 are the best fit for the current output frame.<wbr> This may
10181 be different than the transform used for this frame,<wbr> since
10182 statistics processing on data from a new frame typically
10183 completes after the transform has already been applied to
10184 that frame.<wbr>
10185<br>
10186<br> These estimates must be provided for all frames,<wbr> even if
10187 capture settings and color transforms are set by the application.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070010188<br>
10189<br> This value should always be calculated by the AWB block,<wbr>
10190 regardless of the android.<wbr>control.<wbr>* current values.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010191
10192 </td>
10193
10194 <td class="entry_tags">
10195 </td>
10196
10197 </tr> <!-- end of entry -->
10198
10199
10200 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10201 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10202 <td class="entry_type">
10203 <span class="entry_type_name entry_type_name_enum">byte</span>
10204
10205 <span class="entry_type_visibility"> [public]</span>
10206
10207 <ul class="entry_type_enum">
10208 <li>
10209 <span class="entry_type_enum_name">NONE</span>
10210 </li>
10211 <li>
10212 <span class="entry_type_enum_name">50HZ</span>
10213 </li>
10214 <li>
10215 <span class="entry_type_enum_name">60HZ</span>
10216 </li>
10217 </ul>
10218
10219 </td> <!-- entry_type -->
10220
10221 <td class="entry_description">
10222 The HAL estimated scene illumination lighting
10223 frequency
10224 </td>
10225
10226 <td class="entry_units">
10227 </td>
10228
10229 <td class="entry_range">
10230 </td>
10231
10232 <td class="entry_notes">
10233 Report NONE if there doesn't appear to be flickering
10234 illumination
10235 </td>
10236
10237 <td class="entry_tags">
10238 </td>
10239
10240 </tr> <!-- end of entry -->
10241
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010242
10243
10244 <!-- end of kind -->
10245 </tbody>
10246
10247 <!-- end of section -->
10248 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10249
10250
10251 <tr><td colspan="7" class="kind">controls</td></tr>
10252
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010253 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010254 <tr>
10255 <th class="th_name">Property Name</th>
10256 <th class="th_type">Type</th>
10257 <th class="th_description">Description</th>
10258 <th class="th_units">Units</th>
10259 <th class="th_range">Range</th>
10260 <th class="th_notes">Notes</th>
10261 <th class="th_tags">Tags</th>
10262 </tr>
10263 </thead>
10264
10265 <tbody>
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276 <tr class="entry" id="controls_android.tonemap.curveBlue">
10277 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10278 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010279 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010280 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010281
Zhijun He704d1282013-08-19 15:26:33 -070010282 <span class="entry_type_array">
10283 n x 2
10284 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010285 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010286 <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 -080010287
10288
10289 </td> <!-- entry_type -->
10290
10291 <td class="entry_description">
10292 Table mapping blue input values to output
10293 values
10294 </td>
10295
10296 <td class="entry_units">
10297 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10298 </td>
10299
10300 <td class="entry_range">
10301 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10302 </td>
10303
10304 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010305 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10306 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10307<br>
10308<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010309 </td>
10310
10311 <td class="entry_tags">
10312 </td>
10313
10314 </tr> <!-- end of entry -->
10315
10316
10317 <tr class="entry" id="controls_android.tonemap.curveGreen">
10318 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10319 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010320 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010321 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010322
Zhijun He704d1282013-08-19 15:26:33 -070010323 <span class="entry_type_array">
10324 n x 2
10325 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010326 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010327 <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 -080010328
10329
10330 </td> <!-- entry_type -->
10331
10332 <td class="entry_description">
10333 Table mapping green input values to output
10334 values
10335 </td>
10336
10337 <td class="entry_units">
10338 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10339 </td>
10340
10341 <td class="entry_range">
10342 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10343 </td>
10344
10345 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010346 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10347 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10348<br>
10349<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010350 </td>
10351
10352 <td class="entry_tags">
10353 </td>
10354
10355 </tr> <!-- end of entry -->
10356
10357
10358 <tr class="entry" id="controls_android.tonemap.curveRed">
10359 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010361 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010362 <span class="entry_type_container">x</span>
10363
10364 <span class="entry_type_array">
10365 n x 2
10366 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010367 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010368 <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 -080010369
10370
10371 </td> <!-- entry_type -->
10372
10373 <td class="entry_description">
10374 Table mapping red input values to output
10375 values
10376 </td>
10377
10378 <td class="entry_units">
10379 </td>
10380
10381 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010382 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010383 </td>
10384
10385 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010386 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10387 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10388<br>
10389<br> Since the input and output ranges may vary depending on
10390 the camera pipeline,<wbr> the input and output pixel values
10391 are represented by normalized floating-point values
10392 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10393<br>
10394<br> The curve should be linearly interpolated between the
10395 defined points.<wbr> The points will be listed in increasing
10396 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 -080010397 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10398 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10399 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10400 </td>
10401
10402 <td class="entry_tags">
10403 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010404 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010405 </ul>
10406 </td>
10407
10408 </tr> <!-- end of entry -->
10409
10410
10411 <tr class="entry" id="controls_android.tonemap.mode">
10412 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10413 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010414 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010415
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010416 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010417
10418 <ul class="entry_type_enum">
10419 <li>
10420 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10421 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10422 android.<wbr>tonemap.<wbr>curve</span>
10423 </li>
10424 <li>
10425 <span class="entry_type_enum_name">FAST</span>
10426 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10427 bayer output</span>
10428 </li>
10429 <li>
10430 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10431 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10432 quality</span>
10433 </li>
10434 </ul>
10435
10436 </td> <!-- entry_type -->
10437
10438 <td class="entry_description">
10439 </td>
10440
10441 <td class="entry_units">
10442 </td>
10443
10444 <td class="entry_range">
10445 </td>
10446
10447 <td class="entry_notes">
10448 </td>
10449
10450 <td class="entry_tags">
10451 </td>
10452
10453 </tr> <!-- end of entry -->
10454
10455
10456
10457 <!-- end of kind -->
10458 </tbody>
10459 <tr><td colspan="7" class="kind">static</td></tr>
10460
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010461 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010462 <tr>
10463 <th class="th_name">Property Name</th>
10464 <th class="th_type">Type</th>
10465 <th class="th_description">Description</th>
10466 <th class="th_units">Units</th>
10467 <th class="th_range">Range</th>
10468 <th class="th_notes">Notes</th>
10469 <th class="th_tags">Tags</th>
10470 </tr>
10471 </thead>
10472
10473 <tbody>
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10485 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10486 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010487 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010488
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010489 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010490
10491
10492 </td> <!-- entry_type -->
10493
10494 <td class="entry_description">
10495 Maximum number of supported points in the
10496 tonemap curve
10497 </td>
10498
10499 <td class="entry_units">
10500 </td>
10501
10502 <td class="entry_range">
10503 >= 128
10504 </td>
10505
10506 <td class="entry_notes">
10507 </td>
10508
10509 <td class="entry_tags">
10510 </td>
10511
10512 </tr> <!-- end of entry -->
10513
10514
10515
10516 <!-- end of kind -->
10517 </tbody>
10518 <tr><td colspan="7" class="kind">dynamic</td></tr>
10519
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010520 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010521 <tr>
10522 <th class="th_name">Property Name</th>
10523 <th class="th_type">Type</th>
10524 <th class="th_description">Description</th>
10525 <th class="th_units">Units</th>
10526 <th class="th_range">Range</th>
10527 <th class="th_notes">Notes</th>
10528 <th class="th_tags">Tags</th>
10529 </tr>
10530 </thead>
10531
10532 <tbody>
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10544 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10545 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010546 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010547 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010548
Zhijun He704d1282013-08-19 15:26:33 -070010549 <span class="entry_type_array">
10550 n x 2
10551 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010552 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010553 <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 -080010554
10555
10556 </td> <!-- entry_type -->
10557
10558 <td class="entry_description">
10559 Table mapping blue input values to output
10560 values
10561 </td>
10562
10563 <td class="entry_units">
10564 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10565 </td>
10566
10567 <td class="entry_range">
10568 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10569 </td>
10570
10571 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010572 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10573 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10574<br>
10575<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010576 </td>
10577
10578 <td class="entry_tags">
10579 </td>
10580
10581 </tr> <!-- end of entry -->
10582
10583
10584 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10585 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10586 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010587 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010588 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010589
Zhijun He704d1282013-08-19 15:26:33 -070010590 <span class="entry_type_array">
10591 n x 2
10592 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010593 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010594 <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 -080010595
10596
10597 </td> <!-- entry_type -->
10598
10599 <td class="entry_description">
10600 Table mapping green input values to output
10601 values
10602 </td>
10603
10604 <td class="entry_units">
10605 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10606 </td>
10607
10608 <td class="entry_range">
10609 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10610 </td>
10611
10612 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010613 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10614 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10615<br>
10616<br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010617 </td>
10618
10619 <td class="entry_tags">
10620 </td>
10621
10622 </tr> <!-- end of entry -->
10623
10624
10625 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10626 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010628 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010629 <span class="entry_type_container">x</span>
10630
10631 <span class="entry_type_array">
10632 n x 2
10633 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010634 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010635 <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 -080010636
10637
10638 </td> <!-- entry_type -->
10639
10640 <td class="entry_description">
10641 Table mapping red input values to output
10642 values
10643 </td>
10644
10645 <td class="entry_units">
10646 </td>
10647
10648 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010649 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010650 </td>
10651
10652 <td class="entry_notes">
Zhijun He704d1282013-08-19 15:26:33 -070010653 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10654 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr>
10655<br>
10656<br> Since the input and output ranges may vary depending on
10657 the camera pipeline,<wbr> the input and output pixel values
10658 are represented by normalized floating-point values
10659 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr>
10660<br>
10661<br> The curve should be linearly interpolated between the
10662 defined points.<wbr> The points will be listed in increasing
10663 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 -080010664 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10665 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10666 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10667 </td>
10668
10669 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010670 <ul class="entry_tags">
10671 <li><a href="#tag_DNG">DNG</a></li>
10672 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010673 </td>
10674
10675 </tr> <!-- end of entry -->
10676
10677
10678 <tr class="entry" id="dynamic_android.tonemap.mode">
10679 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10680 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010681 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010682
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010683 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010684
10685 <ul class="entry_type_enum">
10686 <li>
10687 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10688 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10689 android.<wbr>tonemap.<wbr>curve</span>
10690 </li>
10691 <li>
10692 <span class="entry_type_enum_name">FAST</span>
10693 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10694 bayer output</span>
10695 </li>
10696 <li>
10697 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10698 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10699 quality</span>
10700 </li>
10701 </ul>
10702
10703 </td> <!-- entry_type -->
10704
10705 <td class="entry_description">
10706 </td>
10707
10708 <td class="entry_units">
10709 </td>
10710
10711 <td class="entry_range">
10712 </td>
10713
10714 <td class="entry_notes">
10715 </td>
10716
10717 <td class="entry_tags">
10718 </td>
10719
10720 </tr> <!-- end of entry -->
10721
10722
10723
10724 <!-- end of kind -->
10725 </tbody>
10726
10727 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010728 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10729
10730
10731 <tr><td colspan="7" class="kind">controls</td></tr>
10732
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010733 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010734 <tr>
10735 <th class="th_name">Property Name</th>
10736 <th class="th_type">Type</th>
10737 <th class="th_description">Description</th>
10738 <th class="th_units">Units</th>
10739 <th class="th_range">Range</th>
10740 <th class="th_notes">Notes</th>
10741 <th class="th_tags">Tags</th>
10742 </tr>
10743 </thead>
10744
10745 <tbody>
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756 <tr class="entry" id="controls_android.led.transmit">
10757 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10758 <td class="entry_type">
10759 <span class="entry_type_name entry_type_name_enum">byte</span>
10760
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010761 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010762
10763 <ul class="entry_type_enum">
10764 <li>
10765 <span class="entry_type_enum_name">OFF</span>
10766 </li>
10767 <li>
10768 <span class="entry_type_enum_name">ON</span>
10769 </li>
10770 </ul>
10771
10772 </td> <!-- entry_type -->
10773
10774 <td class="entry_description">
10775 This LED is nominally used to indicate to the user
10776 that the camera is powered on and may be streaming images back to the
10777 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10778 disable this when video is processed locally and not transmitted to
10779 any untrusted applications.<wbr>
10780<br>
10781<br> In particular,<wbr> the LED *must* always be on when the data could be
10782 transmitted off the device.<wbr> The LED *should* always be on whenever
10783 data is stored locally on the device.<wbr>
10784<br>
10785<br> The LED *may* be off if a trusted application is using the data that
10786 doesn't violate the above rules.<wbr>
10787
10788 </td>
10789
10790 <td class="entry_units">
10791 </td>
10792
10793 <td class="entry_range">
10794 </td>
10795
10796 <td class="entry_notes">
10797 </td>
10798
10799 <td class="entry_tags">
10800 </td>
10801
10802 </tr> <!-- end of entry -->
10803
10804
10805
10806 <!-- end of kind -->
10807 </tbody>
10808 <tr><td colspan="7" class="kind">dynamic</td></tr>
10809
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010810 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010811 <tr>
10812 <th class="th_name">Property Name</th>
10813 <th class="th_type">Type</th>
10814 <th class="th_description">Description</th>
10815 <th class="th_units">Units</th>
10816 <th class="th_range">Range</th>
10817 <th class="th_notes">Notes</th>
10818 <th class="th_tags">Tags</th>
10819 </tr>
10820 </thead>
10821
10822 <tbody>
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833 <tr class="entry" id="dynamic_android.led.transmit">
10834 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10835 <td class="entry_type">
10836 <span class="entry_type_name entry_type_name_enum">byte</span>
10837
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010838 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010839
10840 <ul class="entry_type_enum">
10841 <li>
10842 <span class="entry_type_enum_name">OFF</span>
10843 </li>
10844 <li>
10845 <span class="entry_type_enum_name">ON</span>
10846 </li>
10847 </ul>
10848
10849 </td> <!-- entry_type -->
10850
10851 <td class="entry_description">
10852 This LED is nominally used to indicate to the user
10853 that the camera is powered on and may be streaming images back to the
10854 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10855 disable this when video is processed locally and not transmitted to
10856 any untrusted applications.<wbr>
10857<br>
10858<br> In particular,<wbr> the LED *must* always be on when the data could be
10859 transmitted off the device.<wbr> The LED *should* always be on whenever
10860 data is stored locally on the device.<wbr>
10861<br>
10862<br> The LED *may* be off if a trusted application is using the data that
10863 doesn't violate the above rules.<wbr>
10864
10865 </td>
10866
10867 <td class="entry_units">
10868 </td>
10869
10870 <td class="entry_range">
10871 </td>
10872
10873 <td class="entry_notes">
10874 </td>
10875
10876 <td class="entry_tags">
10877 </td>
10878
10879 </tr> <!-- end of entry -->
10880
10881
10882
10883 <!-- end of kind -->
10884 </tbody>
10885 <tr><td colspan="7" class="kind">static</td></tr>
10886
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010887 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010888 <tr>
10889 <th class="th_name">Property Name</th>
10890 <th class="th_type">Type</th>
10891 <th class="th_description">Description</th>
10892 <th class="th_units">Units</th>
10893 <th class="th_range">Range</th>
10894 <th class="th_notes">Notes</th>
10895 <th class="th_tags">Tags</th>
10896 </tr>
10897 </thead>
10898
10899 <tbody>
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910 <tr class="entry" id="static_android.led.availableLeds">
10911 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10912 <td class="entry_type">
10913 <span class="entry_type_name entry_type_name_enum">byte</span>
10914 <span class="entry_type_container">x</span>
10915
10916 <span class="entry_type_array">
10917 n
10918 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010919 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010920
10921 <ul class="entry_type_enum">
10922 <li>
10923 <span class="entry_type_enum_name">TRANSMIT</span>
10924 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10925 </li>
10926 </ul>
10927
10928 </td> <!-- entry_type -->
10929
10930 <td class="entry_description">
10931 A list of camera LEDs that are available on this system.<wbr>
10932
10933 </td>
10934
10935 <td class="entry_units">
10936 </td>
10937
10938 <td class="entry_range">
10939 </td>
10940
10941 <td class="entry_notes">
10942 </td>
10943
10944 <td class="entry_tags">
10945 </td>
10946
10947 </tr> <!-- end of entry -->
10948
10949
10950
10951 <!-- end of kind -->
10952 </tbody>
10953
10954 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010955 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10956
10957
10958 <tr><td colspan="7" class="kind">static</td></tr>
10959
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010960 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010961 <tr>
10962 <th class="th_name">Property Name</th>
10963 <th class="th_type">Type</th>
10964 <th class="th_description">Description</th>
10965 <th class="th_units">Units</th>
10966 <th class="th_range">Range</th>
10967 <th class="th_notes">Notes</th>
10968 <th class="th_tags">Tags</th>
10969 </tr>
10970 </thead>
10971
10972 <tbody>
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10984 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10985 <td class="entry_type">
10986 <span class="entry_type_name entry_type_name_enum">byte</span>
10987
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010988 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010989
10990 <ul class="entry_type_enum">
10991 <li>
10992 <span class="entry_type_enum_name">LIMITED</span>
10993 </li>
10994 <li>
10995 <span class="entry_type_enum_name">FULL</span>
10996 </li>
10997 </ul>
10998
10999 </td> <!-- entry_type -->
11000
11001 <td class="entry_description">
11002
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011003 The camera 3 HAL device can implement one of two possible
11004 operational modes; limited and full.<wbr> Full support is
11005 expected from new higher-end devices.<wbr> Limited mode has
11006 hardware requirements roughly in line with those for a
11007 camera HAL device v1 implementation,<wbr> and is expected from
11008 older or inexpensive devices.<wbr> Full is a strict superset of
11009 limited,<wbr> and they share the same essential operational flow.<wbr>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011010<br>
11011<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
11012
11013 </td>
11014
11015 <td class="entry_units">
11016 </td>
11017
11018 <td class="entry_range">
11019 Optional.<wbr> Default value is LIMITED.<wbr>
11020 </td>
11021
11022 <td class="entry_notes">
11023 </td>
11024
11025 <td class="entry_tags">
11026 </td>
11027
11028 </tr> <!-- end of entry -->
11029
11030
11031
11032 <!-- end of kind -->
11033 </tbody>
11034
11035 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011036 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11037
11038
11039 <tr><td colspan="7" class="kind">controls</td></tr>
11040
11041 <thead class="entries_header">
11042 <tr>
11043 <th class="th_name">Property Name</th>
11044 <th class="th_type">Type</th>
11045 <th class="th_description">Description</th>
11046 <th class="th_units">Units</th>
11047 <th class="th_range">Range</th>
11048 <th class="th_notes">Notes</th>
11049 <th class="th_tags">Tags</th>
11050 </tr>
11051 </thead>
11052
11053 <tbody>
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064 <tr class="entry" id="controls_android.blackLevel.lock">
11065 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11066 <td class="entry_type">
11067 <span class="entry_type_name entry_type_name_enum">byte</span>
11068
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011069 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011070
11071 <ul class="entry_type_enum">
11072 <li>
11073 <span class="entry_type_enum_name">OFF</span>
11074 </li>
11075 <li>
11076 <span class="entry_type_enum_name">ON</span>
11077 </li>
11078 </ul>
11079
11080 </td> <!-- entry_type -->
11081
11082 <td class="entry_description">
11083 Whether black-level compensation is locked
11084 to its current values,<wbr> or is free to vary
11085 </td>
11086
11087 <td class="entry_units">
11088 </td>
11089
11090 <td class="entry_range">
11091 </td>
11092
11093 <td class="entry_notes">
11094 When set to ON,<wbr> the values used for black-level
11095 compensation must not change until the lock is set to
11096 OFF
11097<br>
11098<br> Since changes to certain capture parameters (such as
11099 exposure time) may require resetting of black level
11100 compensation,<wbr> the HAL must report whether setting the
11101 black level lock was successful in the output result
11102 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011103<br>
11104<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11105 If for some reason black level locking is no longer legal (for example,<wbr>
11106 the analog gain has changed,<wbr> which forces black levels to be
11107 recalculated),<wbr> then the HAL is free to override this request (and it
11108 must report 'OFF' when this does happen) until the next time locking
11109 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011110 </td>
11111
11112 <td class="entry_tags">
11113 <ul class="entry_tags">
11114 <li><a href="#tag_HAL2">HAL2</a></li>
11115 </ul>
11116 </td>
11117
11118 </tr> <!-- end of entry -->
11119
11120
11121
11122 <!-- end of kind -->
11123 </tbody>
11124 <tr><td colspan="7" class="kind">dynamic</td></tr>
11125
11126 <thead class="entries_header">
11127 <tr>
11128 <th class="th_name">Property Name</th>
11129 <th class="th_type">Type</th>
11130 <th class="th_description">Description</th>
11131 <th class="th_units">Units</th>
11132 <th class="th_range">Range</th>
11133 <th class="th_notes">Notes</th>
11134 <th class="th_tags">Tags</th>
11135 </tr>
11136 </thead>
11137
11138 <tbody>
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149 <tr class="entry" id="dynamic_android.blackLevel.lock">
11150 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11151 <td class="entry_type">
11152 <span class="entry_type_name entry_type_name_enum">byte</span>
11153
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011154 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011155
11156 <ul class="entry_type_enum">
11157 <li>
11158 <span class="entry_type_enum_name">OFF</span>
11159 </li>
11160 <li>
11161 <span class="entry_type_enum_name">ON</span>
11162 </li>
11163 </ul>
11164
11165 </td> <!-- entry_type -->
11166
11167 <td class="entry_description">
11168 Whether black-level compensation is locked
11169 to its current values,<wbr> or is free to vary
11170 </td>
11171
11172 <td class="entry_units">
11173 </td>
11174
11175 <td class="entry_range">
11176 </td>
11177
11178 <td class="entry_notes">
11179 When set to ON,<wbr> the values used for black-level
11180 compensation must not change until the lock is set to
11181 OFF
11182<br>
11183<br> Since changes to certain capture parameters (such as
11184 exposure time) may require resetting of black level
11185 compensation,<wbr> the HAL must report whether setting the
11186 black level lock was successful in the output result
11187 metadata.<wbr>
Igor Murashkin656aa5a2013-08-13 14:23:39 -070011188<br>
11189<br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11190 If for some reason black level locking is no longer legal (for example,<wbr>
11191 the analog gain has changed,<wbr> which forces black levels to be
11192 recalculated),<wbr> then the HAL is free to override this request (and it
11193 must report 'OFF' when this does happen) until the next time locking
11194 is legal again.<wbr>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011195 </td>
11196
11197 <td class="entry_tags">
11198 <ul class="entry_tags">
11199 <li><a href="#tag_HAL2">HAL2</a></li>
11200 </ul>
11201 </td>
11202
11203 </tr> <!-- end of entry -->
11204
11205
11206
11207 <!-- end of kind -->
11208 </tbody>
11209
11210 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011211<!-- </namespace> -->
11212 </table>
11213
11214 <div class="tags" id="tag_index">
11215 <h2>Tags</h2>
11216 <ul>
11217 <li id="tag_AWB">AWB -
11218 Needed for auto white balance
11219
11220 <ul class="tags_entries">
11221 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11222 </ul>
11223 </li> <!-- tag_AWB -->
11224 <li id="tag_BC">BC -
11225 Needed for backwards compatibility with old Java API
11226
11227 <ul class="tags_entries">
11228 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11229 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11230 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11231 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11232 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011233 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011234 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11235 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011236 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011237 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11238 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11239 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11240 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11241 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11242 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11243 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11244 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11245 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11246 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11247 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11248 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11249 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11250 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11251 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11252 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11253 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11254 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11255 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11256 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11257 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11258 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11259 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11260 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11261 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11262 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11263 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11264 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11265 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11266 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11267 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11268 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11269 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11270 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11271 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11272 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011273 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011274 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11275 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11276 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011277 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011278 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011279 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11280 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11281 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11282 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11283 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11284 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11285 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11286 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11287 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11288 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11289 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11290 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11291 </ul>
11292 </li> <!-- tag_BC -->
11293 <li id="tag_V1">V1 -
11294 New features for first camera 2 release (API1)
11295
11296 <ul class="tags_entries">
11297 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11298 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11299 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11300 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11301 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11302 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11303 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11304 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11305 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11306 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11307 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11308 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11309 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11310 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11311 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11312 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11313 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11314 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11315 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11316 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11317 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11318 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11319 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11320 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011321 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011322 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11323 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11324 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11325 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11326 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11327 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11328 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11329 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11330 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11331 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11332 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11333 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11334 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11335 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11336 </ul>
11337 </li> <!-- tag_V1 -->
11338 <li id="tag_ADV">ADV - None
11339 <ul class="tags_entries">
11340 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11341 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11342 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11343 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11345 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11346 </ul>
11347 </li> <!-- tag_ADV -->
11348 <li id="tag_DNG">DNG -
11349 Needed for DNG file support
11350
11351 <ul class="tags_entries">
11352 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011353 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11354 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11355 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11356 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11357 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11358 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11359 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11360 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11361 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11362 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11363 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11364 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11365 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11366 </ul>
11367 </li> <!-- tag_DNG -->
11368 <li id="tag_EXIF">EXIF - None
11369 <ul class="tags_entries">
11370 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11371 </ul>
11372 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011373 <li id="tag_HAL2">HAL2 -
11374 Tag only used by camera device HAL 2.x
11375
11376 <ul class="tags_entries">
11377 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11378 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11379 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011380 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011381 </ul>
11382 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011383 </ul>
11384 </div>
11385
11386 [ <a href="#">top</a> ]
11387
11388</body>
11389</html>