blob: 9e9cafdd69fd0ddabdbe762bb2d84dc589759069 [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" />
20 <title>Android Camera HAL2.0 Properties</title>
21 <style type="text/css">
22 .section { font-size: 1.5em; font-weight: bold; background-color: beige; padding: 0.5em 0em 0.5em 0.1em }
23 .kind { font-size: 1.2em; font-weight: bold; padding-left: 0.5em; background-color: gray }
24 .entry { background-color: burlywood }
25
26 /* table column sizes */
27 table { table-layout: fixed; width: 100%; word-wrap: break-word }
28 td,th { border: 1px solid; }
29 .th_name { width: 20% }
30 .th_units { width: 10% }
31 .th_tags { width: 5% }
32 .th_notes { width: 30% }
33 .th_type { width: 20% }
34 td { font-size: 0.9em; }
35
36 /* hide the first thead, we need it there only to enforce column sizes */
37 .thead_dummy { visibility: hidden; }
38
39 /* Entry flair */
40 .entry_name { font-family: monospace; font-style: italic; }
41
42 /* Entry type flair */
43 .entry_type_name { color: darkgreen; font-weight: bold; }
Igor Murashkinb556bc42012-12-04 16:07:21 -080044 .entry_type_name_enum:after { color: darkgreen; font-weight: bold; content:" (enum)" }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080045 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
46 .entry_type_enum_notes:before { content:" - " }
47 .entry_type_enum_value:before { content:" = " }
48 .entry_type_enum_value { font-family: monospace; }
49 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
50 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
51
52 /* Entry tags flair */
53 .entry_tags ul { list-style-type: none; }
54
55
56 /* TODO: generate abbr element for each tag link? */
57 /* TODO for each x.y.z try to link it to the entry */
58
59 </style>
60
61 <style>
62
63 {
64 /* broken...
65 supposedly there is a bug in chrome that it lays out tables before
66 it knows its being printed, so the page-break-* styles are ignored
67 */
68 tr { page-break-after: always; page-break-inside: avoid; }
69 }
70
71 </style>
72</head>
73
74
75
76
77<body>
78 <h1>Android Camera HAL2.0 Properties</h1>
79
80 <h2>Table of Contents</h2>
81 <ul class="toc">
82 <li><a href="#tag_index">Tags</a></li>
83
84
85 <li><p class="toc_section"><a href="#section_colorCorrection">colorCorrection</a></p>
86 <ul class="toc_section">
87 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a> (controls)</li>
88 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a> (controls)</li>
89 <li><a href="#dynamic_android.colorCorrection.mode">android.colorCorrection.mode</a> (dynamic)</li>
90 </ul>
91 </li> <!-- toc_section -->
92 <li><p class="toc_section"><a href="#section_control">control</a></p>
93 <ul class="toc_section">
94 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
95 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
96 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
97 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
98 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
99 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700100 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800101 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
102 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700103 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800104 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
105 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
106 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
107 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
108 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
109 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
110 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
111 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
112 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a> (static)</li>
113 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
114 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a> (static)</li>
115 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
116 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
117 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
118 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
119 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
120 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
121 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
122 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
123 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
124 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a> (dynamic)</li>
125 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a> (dynamic)</li>
126 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a> (dynamic)</li>
127 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a> (dynamic)</li>
128 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a> (dynamic)</li>
129 <li><a href="#dynamic_android.control.afState">android.control.afState</a> (dynamic)</li>
130 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a> (dynamic)</li>
131 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a> (dynamic)</li>
132 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a> (dynamic)</li>
133 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a> (dynamic)</li>
134 <li><a href="#dynamic_android.control.mode">android.control.mode</a> (dynamic)</li>
135 </ul>
136 </li> <!-- toc_section -->
137 <li><p class="toc_section"><a href="#section_demosaic">demosaic</a></p>
138 <ul class="toc_section">
139 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
140 </ul>
141 </li> <!-- toc_section -->
142 <li><p class="toc_section"><a href="#section_edge">edge</a></p>
143 <ul class="toc_section">
144 <li><a href="#controls_android.edge.mode">android.edge.mode</a> (controls)</li>
145 <li><a href="#controls_android.edge.strength">android.edge.strength</a> (controls)</li>
146 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a> (dynamic)</li>
147 </ul>
148 </li> <!-- toc_section -->
149 <li><p class="toc_section"><a href="#section_flash">flash</a></p>
150 <ul class="toc_section">
151 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
152 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
153 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
154 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
155 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
156 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
157 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
158 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a> (dynamic)</li>
159 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a> (dynamic)</li>
160 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a> (dynamic)</li>
161 <li><a href="#dynamic_android.flash.state">android.flash.state</a> (dynamic)</li>
162 </ul>
163 </li> <!-- toc_section -->
164 <li><p class="toc_section"><a href="#section_geometric">geometric</a></p>
165 <ul class="toc_section">
166 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a> (controls)</li>
167 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
168 </ul>
169 </li> <!-- toc_section -->
170 <li><p class="toc_section"><a href="#section_hotPixel">hotPixel</a></p>
171 <ul class="toc_section">
172 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
173 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
174 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
175 </ul>
176 </li> <!-- toc_section -->
177 <li><p class="toc_section"><a href="#section_jpeg">jpeg</a></p>
178 <ul class="toc_section">
179 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
180 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
181 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
182 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
183 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
184 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
185 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
186 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
187 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a> (static)</li>
188 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (dynamic)</li>
189 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (dynamic)</li>
190 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (dynamic)</li>
191 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a> (dynamic)</li>
192 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a> (dynamic)</li>
193 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a> (dynamic)</li>
194 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (dynamic)</li>
195 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (dynamic)</li>
196 </ul>
197 </li> <!-- toc_section -->
198 <li><p class="toc_section"><a href="#section_lens">lens</a></p>
199 <ul class="toc_section">
200 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
201 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
202 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
203 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
204 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
205 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
206 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
207 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
208 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
209 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
210 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
211 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
212 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
213 <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
214 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
215 <li><a href="#static_android.lens.facing">android.lens.facing</a> (static)</li>
216 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
217 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
218 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
219 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
220 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
221 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
222 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
223 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
224 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
225 </ul>
226 </li> <!-- toc_section -->
227 <li><p class="toc_section"><a href="#section_noiseReduction">noiseReduction</a></p>
228 <ul class="toc_section">
229 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
230 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a> (controls)</li>
231 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a> (dynamic)</li>
232 </ul>
233 </li> <!-- toc_section -->
234 <li><p class="toc_section"><a href="#section_quirks">quirks</a></p>
235 <ul class="toc_section">
236 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a> (static)</li>
237 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a> (static)</li>
238 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a> (static)</li>
239 </ul>
240 </li> <!-- toc_section -->
241 <li><p class="toc_section"><a href="#section_request">request</a></p>
242 <ul class="toc_section">
243 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a> (controls)</li>
244 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
245 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
246 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a> (controls)</li>
247 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
248 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
249 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
250 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a> (static)</li>
251 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a> (dynamic)</li>
252 <li><a href="#dynamic_android.request.id">android.request.id</a> (dynamic)</li>
253 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a> (dynamic)</li>
254 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a> (dynamic)</li>
255 </ul>
256 </li> <!-- toc_section -->
257 <li><p class="toc_section"><a href="#section_scaler">scaler</a></p>
258 <ul class="toc_section">
259 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
260 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
261 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
262 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
263 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
264 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
265 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
266 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
267 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800268 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a> (dynamic)</li>
269 </ul>
270 </li> <!-- toc_section -->
271 <li><p class="toc_section"><a href="#section_sensor">sensor</a></p>
272 <ul class="toc_section">
273 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
274 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
275 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
276 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
277 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
278 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
279 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
280 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
281 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
282 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
283 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
284 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
285 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
286 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
287 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
288 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
289 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
290 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
291 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
292 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
293 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
294 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
295 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
296 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a> (static)</li>
297 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a> (dynamic)</li>
298 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a> (dynamic)</li>
299 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a> (dynamic)</li>
300 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
301 </ul>
302 </li> <!-- toc_section -->
303 <li><p class="toc_section"><a href="#section_shading">shading</a></p>
304 <ul class="toc_section">
305 <li><a href="#controls_android.shading.mode">android.shading.mode</a> (controls)</li>
306 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
307 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a> (dynamic)</li>
308 </ul>
309 </li> <!-- toc_section -->
310 <li><p class="toc_section"><a href="#section_statistics">statistics</a></p>
311 <ul class="toc_section">
312 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
313 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
314 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
315 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a> (static)</li>
316 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a> (static)</li>
317 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a> (static)</li>
318 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a> (static)</li>
319 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a> (static)</li>
320 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a> (static)</li>
321 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (dynamic)</li>
322 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
323 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
324 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
325 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
326 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
327 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a> (dynamic)</li>
328 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
329 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (dynamic)</li>
330 </ul>
331 </li> <!-- toc_section -->
332 <li><p class="toc_section"><a href="#section_tonemap">tonemap</a></p>
333 <ul class="toc_section">
334 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (controls)</li>
335 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (controls)</li>
336 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
337 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a> (controls)</li>
338 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a> (static)</li>
339 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (dynamic)</li>
340 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (dynamic)</li>
341 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a> (dynamic)</li>
342 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a> (dynamic)</li>
343 </ul>
344 </li> <!-- toc_section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700345 <li><p class="toc_section"><a href="#section_led">led</a></p>
346 <ul class="toc_section">
347 <li><a href="#controls_android.led.transmit">android.led.transmit</a> (controls)</li>
348 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a> (dynamic)</li>
349 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a> (static)</li>
350 </ul>
351 </li> <!-- toc_section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800352 </ul>
353
354 <h1>Properties</h1>
355 <table class="properties">
356
357 <thead class="thead_dummy">
358 <tr>
359 <th class="th_name">Property Name</th>
360 <th class="th_type">Type</th>
361 <th class="th_description">Description</th>
362 <th class="th_units">Units</th>
363 <th class="th_range">Range</th>
364 <th class="th_notes">Notes</th>
365 <th class="th_tags">Tags</th>
366 </tr>
367 </thead> <!-- so that the first occurrence of thead is not
368 above the first occurrence of tr -->
369<!-- <namespace name="android"> -->
370 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
371
372
373 <tr><td colspan="7" class="kind">controls</td></tr>
374
375 <thead>
376 <tr>
377 <th class="th_name">Property Name</th>
378 <th class="th_type">Type</th>
379 <th class="th_description">Description</th>
380 <th class="th_units">Units</th>
381 <th class="th_range">Range</th>
382 <th class="th_notes">Notes</th>
383 <th class="th_tags">Tags</th>
384 </tr>
385 </thead>
386
387 <tbody>
388
389
390
391
392
393
394
395
396
397
398 <tr class="entry" id="controls_android.colorCorrection.mode">
399 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
400 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800401 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800402
403
404
405 <ul class="entry_type_enum">
406 <li>
407 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
408 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
409 to do color conversion</span>
410 </li>
411 <li>
412 <span class="entry_type_enum_name">FAST</span>
413 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
414 bayer output</span>
415 </li>
416 <li>
417 <span class="entry_type_enum_name">HIGH_QUALITY</span>
418 <span class="entry_type_enum_notes">Frame rate may be reduced by high
419 quality</span>
420 </li>
421 </ul>
422
423 </td> <!-- entry_type -->
424
425 <td class="entry_description">
426 </td>
427
428 <td class="entry_units">
429 </td>
430
431 <td class="entry_range">
432 </td>
433
434 <td class="entry_notes">
435 </td>
436
437 <td class="entry_tags">
438 </td>
439
440 </tr> <!-- end of entry -->
441
442
443 <tr class="entry" id="controls_android.colorCorrection.transform">
444 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
445 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800446 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800447 <span class="entry_type_container">x</span>
448
449 <span class="entry_type_array">
450 3 x 3
451 </span>
452
453 <div class="entry_type_notes">3x3 float matrix in row-major order</div>
454
455
456 </td> <!-- entry_type -->
457
458 <td class="entry_description">
459 A transform matrix to chromatically adapt
460 pixels in the CIE XYZ (1931) color space from the scene
461 illuminant to the sRGB-standard
462 D65-illuminant
463 </td>
464
465 <td class="entry_units">
466 </td>
467
468 <td class="entry_range">
469 Output values are expected to be in the range
470 (0,<wbr>1)
471 </td>
472
473 <td class="entry_notes">
474 Values outside (0,<wbr>1) should be clamped.<wbr> Need to
475 provide utilities to go from CCT (+hue?),<wbr> or (x,<wbr>y) white
476 point,<wbr> (or AWB mode) to matrix; use linear Bradford
477 algorithm.<wbr>
478 </td>
479
480 <td class="entry_tags">
481 </td>
482
483 </tr> <!-- end of entry -->
484
485
486
487 <!-- end of kind -->
488 </tbody>
489 <tr><td colspan="7" class="kind">dynamic</td></tr>
490
491 <thead>
492 <tr>
493 <th class="th_name">Property Name</th>
494 <th class="th_type">Type</th>
495 <th class="th_description">Description</th>
496 <th class="th_units">Units</th>
497 <th class="th_range">Range</th>
498 <th class="th_notes">Notes</th>
499 <th class="th_tags">Tags</th>
500 </tr>
501 </thead>
502
503 <tbody>
504
505
506
507
508
509
510
511
512
513
514 <tr class="entry" id="dynamic_android.colorCorrection.mode">
515 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
516 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800517 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800518
519
520
521 <ul class="entry_type_enum">
522 <li>
523 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
524 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
525 to do color conversion</span>
526 </li>
527 <li>
528 <span class="entry_type_enum_name">FAST</span>
529 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
530 bayer output</span>
531 </li>
532 <li>
533 <span class="entry_type_enum_name">HIGH_QUALITY</span>
534 <span class="entry_type_enum_notes">Frame rate may be reduced by high
535 quality</span>
536 </li>
537 </ul>
538
539 </td> <!-- entry_type -->
540
541 <td class="entry_description">
542 </td>
543
544 <td class="entry_units">
545 </td>
546
547 <td class="entry_range">
548 </td>
549
550 <td class="entry_notes">
551 </td>
552
553 <td class="entry_tags">
554 </td>
555
556 </tr> <!-- end of entry -->
557
558
559
560 <!-- end of kind -->
561 </tbody>
562
563 <!-- end of section -->
564 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
565
566
567 <tr><td colspan="7" class="kind">controls</td></tr>
568
569 <thead>
570 <tr>
571 <th class="th_name">Property Name</th>
572 <th class="th_type">Type</th>
573 <th class="th_description">Description</th>
574 <th class="th_units">Units</th>
575 <th class="th_range">Range</th>
576 <th class="th_notes">Notes</th>
577 <th class="th_tags">Tags</th>
578 </tr>
579 </thead>
580
581 <tbody>
582
583
584
585
586
587
588
589
590
591
592 <tr class="entry" id="controls_android.control.aeAntibandingMode">
593 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
594 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800595 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800596
597
598
599 <ul class="entry_type_enum">
600 <li>
601 <span class="entry_type_enum_name">OFF</span>
602 </li>
603 <li>
604 <span class="entry_type_enum_name">50HZ</span>
605 </li>
606 <li>
607 <span class="entry_type_enum_name">60HZ</span>
608 </li>
609 <li>
610 <span class="entry_type_enum_name">AUTO</span>
611 </li>
612 </ul>
613
614 </td> <!-- entry_type -->
615
616 <td class="entry_description">
617 Enum for controlling
618 antibanding
619 </td>
620
621 <td class="entry_units">
622 </td>
623
624 <td class="entry_range">
625
626 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
627 </td>
628
629 <td class="entry_notes">
630 </td>
631
632 <td class="entry_tags">
633 </td>
634
635 </tr> <!-- end of entry -->
636
637
638 <tr class="entry" id="controls_android.control.aeExposureCompensation">
639 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
640 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800641 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800642
643
644
645
646 </td> <!-- entry_type -->
647
648 <td class="entry_description">
649 Adjustment to AE target image
650 brightness
651 </td>
652
653 <td class="entry_units">
654 count of positive/<wbr>negative EV steps
655 </td>
656
657 <td class="entry_range">
658 </td>
659
660 <td class="entry_notes">
661 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
662 exposure compensation of +2 EV; -3 will mean an exposure
663 compensation of -1
664 </td>
665
666 <td class="entry_tags">
667 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800668 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800669 </ul>
670 </td>
671
672 </tr> <!-- end of entry -->
673
674
675 <tr class="entry" id="controls_android.control.aeLock">
676 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
677 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800678 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800679
680
681
682 <ul class="entry_type_enum">
683 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800684 <span class="entry_type_enum_name">OFF</span>
685 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
686 is free to update its parameters.<wbr></span>
687 </li>
688 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800689 <span class="entry_type_enum_name">ON</span>
690 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
691 must not update the exposure and sensitivity parameters
692 while the lock is active</span>
693 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800694 </ul>
695
696 </td> <!-- entry_type -->
697
698 <td class="entry_description">
699 Whether AE is currently locked to its latest
700 calculated values
701 </td>
702
703 <td class="entry_units">
704 </td>
705
706 <td class="entry_range">
707 </td>
708
709 <td class="entry_notes">
710 Note that even when AE is locked,<wbr> the flash may be
711 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
712 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
713 </td>
714
715 <td class="entry_tags">
716 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800717 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800718 </ul>
719 </td>
720
721 </tr> <!-- end of entry -->
722
723
724 <tr class="entry" id="controls_android.control.aeMode">
725 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
726 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800727 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800728
729
730
731 <ul class="entry_type_enum">
732 <li>
733 <span class="entry_type_enum_name">OFF</span>
734 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime
735 and sensor.<wbr>sensitivity are used</span>
736 </li>
737 <li>
738 <span class="entry_type_enum_name">ON</span>
739 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
740 control</span>
741 </li>
742 <li>
743 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
744 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
745 flash control; flash may be fired when precapture
746 trigger is activated,<wbr> and for captures for which
747 captureIntent = STILL_<wbr>CAPTURE</span>
748 </li>
749 <li>
750 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
751 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
752 flash control for precapture trigger and always flash
753 when captureIntent = STILL_<wbr>CAPTURE</span>
754 </li>
755 <li>
756 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
757 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
758 If deemed necessary,<wbr> red eye reduction sequence should
759 fire when precapture trigger is activated,<wbr> and final
760 flash should fire when captureIntent =
761 STILL_<wbr>CAPTURE</span>
762 </li>
763 </ul>
764
765 </td> <!-- entry_type -->
766
767 <td class="entry_description">
768 Whether AE is currently updating the sensor
769 exposure and sensitivity fields
770 </td>
771
772 <td class="entry_units">
773 </td>
774
775 <td class="entry_range">
776 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
777 </td>
778
779 <td class="entry_notes">
780 Only effective if android.<wbr>control.<wbr>mode =
781 AUTO
782 </td>
783
784 <td class="entry_tags">
785 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800786 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800787 </ul>
788 </td>
789
790 </tr> <!-- end of entry -->
791
792
793 <tr class="entry" id="controls_android.control.aeRegions">
794 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
795 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800796 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800797 <span class="entry_type_container">x</span>
798
799 <span class="entry_type_array">
800 5 x area_count
801 </span>
802
803
804
805 </td> <!-- entry_type -->
806
807 <td class="entry_description">
808 List of areas to use for
809 metering
810 </td>
811
812 <td class="entry_units">
813 </td>
814
815 <td class="entry_range">
816 </td>
817
818 <td class="entry_notes">
819 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
820 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
821 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
822 active pixel array,<wbr> and
823 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
824 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
825 bottom-right point of the active pixel array.<wbr> The weight
826 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
827 no specific metering area needs to be used by the HAL.<wbr> If
828 the metering region is outside the current
829 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
830 sections outside the region and output the used sections
831 in the frame metadata
832 </td>
833
834 <td class="entry_tags">
835 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800836 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800837 </ul>
838 </td>
839
840 </tr> <!-- end of entry -->
841
842
843 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
844 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
845 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800846 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800847 <span class="entry_type_container">x</span>
848
849 <span class="entry_type_array">
850 2
851 </span>
852
853
854
855 </td> <!-- entry_type -->
856
857 <td class="entry_description">
858 Range over which fps can be adjusted to
859 maintain exposure
860 </td>
861
862 <td class="entry_units">
863 </td>
864
865 <td class="entry_range">
866 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
867 </td>
868
869 <td class="entry_notes">
870 Only constrains AE algorithm,<wbr> not manual control
871 of android.<wbr>sensor.<wbr>exposure<wbr>Time
872 </td>
873
874 <td class="entry_tags">
875 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800876 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800877 </ul>
878 </td>
879
880 </tr> <!-- end of entry -->
881
882
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700883 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
884 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
885 <td class="entry_type">
886 <span class="entry_type_name entry_type_name_enum">byte</span>
887
888
889
890 <ul class="entry_type_enum">
891 <li>
892 <span class="entry_type_enum_name">IDLE</span>
893 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
894 </li>
895 <li>
896 <span class="entry_type_enum_name">START</span>
897 <span class="entry_type_enum_notes">The precapture metering sequence
898 must be started.<wbr> The exact effect of the precapture
899 trigger depends on the current AE mode and
900 state.<wbr></span>
901 </li>
902 </ul>
903
904 </td> <!-- entry_type -->
905
906 <td class="entry_description">
907 Whether the HAL must trigger precapture
908 metering.<wbr>
909 </td>
910
911 <td class="entry_units">
912 </td>
913
914 <td class="entry_range">
915 </td>
916
917 <td class="entry_notes">
918 This entry is normally set to IDLE,<wbr> or is not
919 included at all in the request settings.<wbr> When included and
920 set to START,<wbr> the HAL must trigger the autoexposure
921 precapture metering sequence.<wbr> The effect of AE precapture
922 trigger depends on the current AE mode and state; see the
923 camera HAL device v3 header for details.<wbr>
924 </td>
925
926 <td class="entry_tags">
927 <ul class="entry_tags">
928 <li><a href="#tag_BC">BC</a></li>
929 </ul>
930 </td>
931
932 </tr> <!-- end of entry -->
933
934
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800935 <tr class="entry" id="controls_android.control.afMode">
936 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
937 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800938 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800939
940
941
942 <ul class="entry_type_enum">
943 <li>
944 <span class="entry_type_enum_name">OFF</span>
945 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
946 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
947 application</span>
948 </li>
949 <li>
950 <span class="entry_type_enum_name">AUTO</span>
951 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
952 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
953 is fixed focus In this mode,<wbr> the lens does not move
954 unless the autofocus trigger action is called.<wbr> When
955 that trigger is activated,<wbr> AF must transition to
956 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
957 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
958 position to default,<wbr> and sets the AF state to
959 INACTIVE.<wbr></span>
960 </li>
961 <li>
962 <span class="entry_type_enum_name">MACRO</span>
963 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
964 autofocus trigger action is called.<wbr> When that trigger
965 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
966 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
967 Triggering cancel AF resets the lens position to
968 default,<wbr> and sets the AF state to
969 INACTIVE.<wbr></span>
970 </li>
971 <li>
972 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
973 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
974 position continually to attempt to provide a
975 constantly-in-focus image stream.<wbr> The focusing behavior
976 should be suitable for good quality video recording;
977 typically this means slower focus movement and no
978 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
979 algorithm should start in INACTIVE state,<wbr> and then
980 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
981 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
982 algorithm should immediately transition into AF_<wbr>FOCUSED
983 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
984 position until a cancel AF trigger is received.<wbr> Once
985 cancel is received,<wbr> the algorithm should transition
986 back to INACTIVE and resume passive scan.<wbr> Note that
987 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
988 since an ongoing PASSIVE_<wbr>SCAN must immediately be
989 canceled.<wbr></span>
990 </li>
991 <li>
992 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
993 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
994 position continually to attempt to provide a
995 constantly-in-focus image stream.<wbr> The focusing behavior
996 should be suitable for still image capture; typically
997 this means focusing as fast as possible.<wbr> When the AF
998 trigger is not involved,<wbr> the AF algorithm should start
999 in INACTIVE state,<wbr> and then transition into
1000 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
1001 as it attempts to maintain focus.<wbr> When the AF trigger
1002 is activated,<wbr> the algorithm should finish its
1003 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
1004 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
1005 the lens position until a cancel AF trigger is
1006 received.<wbr> When the AF cancel trigger is activated,<wbr> the
1007 algorithm should transition back to INACTIVE and then
1008 act as if it has just been started.<wbr></span>
1009 </li>
1010 <li>
1011 <span class="entry_type_enum_name">EDOF</span>
1012 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1013 trigger is ignored,<wbr> AF state should always be
1014 INACTIVE.<wbr></span>
1015 </li>
1016 </ul>
1017
1018 </td> <!-- entry_type -->
1019
1020 <td class="entry_description">
1021 Whether AF is currently enabled,<wbr> and what
1022 mode it is set to
1023 </td>
1024
1025 <td class="entry_units">
1026 </td>
1027
1028 <td class="entry_range">
1029 </td>
1030
1031 <td class="entry_notes">
1032 </td>
1033
1034 <td class="entry_tags">
1035 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001036 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001037 </ul>
1038 </td>
1039
1040 </tr> <!-- end of entry -->
1041
1042
1043 <tr class="entry" id="controls_android.control.afRegions">
1044 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1045 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001046 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001047 <span class="entry_type_container">x</span>
1048
1049 <span class="entry_type_array">
1050 5 x area_count
1051 </span>
1052
1053
1054
1055 </td> <!-- entry_type -->
1056
1057 <td class="entry_description">
1058 List of areas to use for focus
1059 estimation
1060 </td>
1061
1062 <td class="entry_units">
1063 </td>
1064
1065 <td class="entry_range">
1066 </td>
1067
1068 <td class="entry_notes">
1069 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1070 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
1071 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
1072 active pixel array,<wbr> and
1073 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1074 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1075 bottom-right point of the active pixel array.<wbr> The weight
1076 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1077 no specific focus area needs to be used by the HAL.<wbr> If
1078 the focusing region is outside the current
1079 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1080 sections outside the region and output the used sections
1081 in the frame metadata
1082 </td>
1083
1084 <td class="entry_tags">
1085 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001086 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001087 </ul>
1088 </td>
1089
1090 </tr> <!-- end of entry -->
1091
1092
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001093 <tr class="entry" id="controls_android.control.afTrigger">
1094 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1095 <td class="entry_type">
1096 <span class="entry_type_name entry_type_name_enum">byte</span>
1097
1098
1099
1100 <ul class="entry_type_enum">
1101 <li>
1102 <span class="entry_type_enum_name">IDLE</span>
1103 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1104 </li>
1105 <li>
1106 <span class="entry_type_enum_name">START</span>
1107 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1108 </li>
1109 <li>
1110 <span class="entry_type_enum_name">CANCEL</span>
1111 <span class="entry_type_enum_notes">Autofocus must return to initial
1112 state,<wbr> and cancel any active trigger.<wbr></span>
1113 </li>
1114 </ul>
1115
1116 </td> <!-- entry_type -->
1117
1118 <td class="entry_description">
1119 Whether the HAL must trigger autofocus.<wbr>
1120 </td>
1121
1122 <td class="entry_units">
1123 </td>
1124
1125 <td class="entry_range">
1126 </td>
1127
1128 <td class="entry_notes">
1129 This entry is normally set to IDLE,<wbr> or is not
1130 included at all in the request settings.<wbr> When included and
1131 set to START,<wbr> the HAL must trigger the autofocus
1132 algorithm.<wbr> The effect of AF trigger depends on the current
1133 AF mode and state; see the camera HAL device v3 header for
1134 details.<wbr> When set to CANCEL,<wbr> the HAL must cancel any active
1135 trigger,<wbr> and return to initial AF state.<wbr>
1136 </td>
1137
1138 <td class="entry_tags">
1139 <ul class="entry_tags">
1140 <li><a href="#tag_BC">BC</a></li>
1141 </ul>
1142 </td>
1143
1144 </tr> <!-- end of entry -->
1145
1146
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001147 <tr class="entry" id="controls_android.control.awbLock">
1148 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1149 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001150 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001151
1152
1153
1154 <ul class="entry_type_enum">
1155 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001156 <span class="entry_type_enum_name">OFF</span>
1157 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1158 algorithm is free to update its parameters if in AUTO
1159 mode.<wbr></span>
1160 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001161 <li>
1162 <span class="entry_type_enum_name">ON</span>
1163 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1164 algorithm must not update the exposure and sensitivity
1165 parameters while the lock is active</span>
1166 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001167 </ul>
1168
1169 </td> <!-- entry_type -->
1170
1171 <td class="entry_description">
1172 Whether AWB is currently locked to its
1173 latest calculated values
1174 </td>
1175
1176 <td class="entry_units">
1177 </td>
1178
1179 <td class="entry_range">
1180 </td>
1181
1182 <td class="entry_notes">
1183 Note that AWB lock is only meaningful for AUTO
1184 mode; in other modes,<wbr> AWB is already fixed to a specific
1185 setting
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.awbMode">
1198 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1199 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001200 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001201
1202
1203
1204 <ul class="entry_type_enum">
1205 <li>
1206 <span class="entry_type_enum_name">OFF</span>
1207 </li>
1208 <li>
1209 <span class="entry_type_enum_name">AUTO</span>
1210 </li>
1211 <li>
1212 <span class="entry_type_enum_name">INCANDESCENT</span>
1213 </li>
1214 <li>
1215 <span class="entry_type_enum_name">FLUORESCENT</span>
1216 </li>
1217 <li>
1218 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1219 </li>
1220 <li>
1221 <span class="entry_type_enum_name">DAYLIGHT</span>
1222 </li>
1223 <li>
1224 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1225 </li>
1226 <li>
1227 <span class="entry_type_enum_name">TWILIGHT</span>
1228 </li>
1229 <li>
1230 <span class="entry_type_enum_name">SHADE</span>
1231 </li>
1232 </ul>
1233
1234 </td> <!-- entry_type -->
1235
1236 <td class="entry_description">
1237 Whether AWB is currently setting the color
1238 transform fields,<wbr> and what its illumination target
1239 is
1240 </td>
1241
1242 <td class="entry_units">
1243 </td>
1244
1245 <td class="entry_range">
1246 </td>
1247
1248 <td class="entry_notes">
1249 [BC - AWB lock,<wbr>AWB modes]
1250 </td>
1251
1252 <td class="entry_tags">
1253 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001254 <li><a href="#tag_BC">BC</a></li>
1255 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001256 </ul>
1257 </td>
1258
1259 </tr> <!-- end of entry -->
1260
1261
1262 <tr class="entry" id="controls_android.control.awbRegions">
1263 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1264 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001265 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001266 <span class="entry_type_container">x</span>
1267
1268 <span class="entry_type_array">
1269 5 x area_count
1270 </span>
1271
1272
1273
1274 </td> <!-- entry_type -->
1275
1276 <td class="entry_description">
1277 List of areas to use for illuminant
1278 estimation
1279 </td>
1280
1281 <td class="entry_units">
1282 </td>
1283
1284 <td class="entry_range">
1285 </td>
1286
1287 <td class="entry_notes">
1288 Only used in AUTO mode.<wbr> Each area is a rectangle
1289 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
1290 coordinate system is based on the active pixel array,<wbr>
1291 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
1292 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1293 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1294 bottom-right point of the active pixel array.<wbr> The weight
1295 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1296 no specific metering area needs to be used by the HAL.<wbr> If
1297 the metering region is outside the current
1298 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1299 sections outside the region and output the used sections
1300 in the frame metadata
1301 </td>
1302
1303 <td class="entry_tags">
1304 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001305 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001306 </ul>
1307 </td>
1308
1309 </tr> <!-- end of entry -->
1310
1311
1312 <tr class="entry" id="controls_android.control.captureIntent">
1313 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1314 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001315 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001316
1317
1318
1319 <ul class="entry_type_enum">
1320 <li>
1321 <span class="entry_type_enum_name">CUSTOM</span>
1322 <span class="entry_type_enum_notes">This request doesn't fall into the other
1323 categories.<wbr> Default to preview-like
1324 behavior.<wbr></span>
1325 </li>
1326 <li>
1327 <span class="entry_type_enum_name">PREVIEW</span>
1328 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1329 precapture trigger may be used to start off a metering
1330 w/<wbr>flash sequence</span>
1331 </li>
1332 <li>
1333 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1334 <span class="entry_type_enum_notes">This request is for a still capture-type
1335 usecase.<wbr></span>
1336 </li>
1337 <li>
1338 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1339 <span class="entry_type_enum_notes">This request is for a video recording
1340 usecase.<wbr></span>
1341 </li>
1342 <li>
1343 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1344 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1345 image while recording video) usecase</span>
1346 </li>
1347 <li>
1348 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1349 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1350 application will stream full-resolution images and
1351 reprocess one or several later for a final
1352 capture</span>
1353 </li>
1354 </ul>
1355
1356 </td> <!-- entry_type -->
1357
1358 <td class="entry_description">
1359 Information to 3A routines about the purpose
1360 of this capture,<wbr> to help decide optimal 3A
1361 strategy
1362 </td>
1363
1364 <td class="entry_units">
1365 </td>
1366
1367 <td class="entry_range">
1368 all must be supported
1369 </td>
1370
1371 <td class="entry_notes">
1372 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1373 </td>
1374
1375 <td class="entry_tags">
1376 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001377 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001378 </ul>
1379 </td>
1380
1381 </tr> <!-- end of entry -->
1382
1383
1384 <tr class="entry" id="controls_android.control.effectMode">
1385 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1386 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001387 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001388
1389
1390
1391 <ul class="entry_type_enum">
1392 <li>
1393 <span class="entry_type_enum_name">OFF</span>
1394 </li>
1395 <li>
1396 <span class="entry_type_enum_name">MONO</span>
1397 <span class="entry_type_enum_optional">optional</span>
1398 </li>
1399 <li>
1400 <span class="entry_type_enum_name">NEGATIVE</span>
1401 <span class="entry_type_enum_optional">optional</span>
1402 </li>
1403 <li>
1404 <span class="entry_type_enum_name">SOLARIZE</span>
1405 <span class="entry_type_enum_optional">optional</span>
1406 </li>
1407 <li>
1408 <span class="entry_type_enum_name">SEPIA</span>
1409 <span class="entry_type_enum_optional">optional</span>
1410 </li>
1411 <li>
1412 <span class="entry_type_enum_name">POSTERIZE</span>
1413 <span class="entry_type_enum_optional">optional</span>
1414 </li>
1415 <li>
1416 <span class="entry_type_enum_name">WHITEBOARD</span>
1417 <span class="entry_type_enum_optional">optional</span>
1418 </li>
1419 <li>
1420 <span class="entry_type_enum_name">BLACKBOARD</span>
1421 <span class="entry_type_enum_optional">optional</span>
1422 </li>
1423 <li>
1424 <span class="entry_type_enum_name">AQUA</span>
1425 <span class="entry_type_enum_optional">optional</span>
1426 </li>
1427 </ul>
1428
1429 </td> <!-- entry_type -->
1430
1431 <td class="entry_description">
1432 Whether any special color effect is in use.<wbr>
1433 Only used if android.<wbr>control.<wbr>mode != OFF
1434 </td>
1435
1436 <td class="entry_units">
1437 </td>
1438
1439 <td class="entry_range">
1440 android.<wbr>control.<wbr>available<wbr>Effects
1441 </td>
1442
1443 <td class="entry_notes">
1444 </td>
1445
1446 <td class="entry_tags">
1447 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001448 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001449 </ul>
1450 </td>
1451
1452 </tr> <!-- end of entry -->
1453
1454
1455 <tr class="entry" id="controls_android.control.mode">
1456 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001458 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001459
1460
1461
1462 <ul class="entry_type_enum">
1463 <li>
1464 <span class="entry_type_enum_name">OFF</span>
1465 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1466 routines are disabled,<wbr> no other settings in
1467 android.<wbr>control.<wbr>* have any effect</span>
1468 </li>
1469 <li>
1470 <span class="entry_type_enum_name">AUTO</span>
1471 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1472 Manual control of capture parameters is disabled.<wbr> All
1473 controls in android.<wbr>control.<wbr>* besides sceneMode take
1474 effect</span>
1475 </li>
1476 <li>
1477 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1478 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1479 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1480 controls; the HAL must ignore those settings while
1481 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1482 scene mode).<wbr> Other control entries are still active.<wbr>
1483 This setting can only be used if availableSceneModes !=
1484 UNSUPPORTED</span>
1485 </li>
1486 </ul>
1487
1488 </td> <!-- entry_type -->
1489
1490 <td class="entry_description">
1491 Overall mode of 3A control
1492 routines
1493 </td>
1494
1495 <td class="entry_units">
1496 </td>
1497
1498 <td class="entry_range">
1499 all must be supported
1500 </td>
1501
1502 <td class="entry_notes">
1503 </td>
1504
1505 <td class="entry_tags">
1506 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001507 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001508 </ul>
1509 </td>
1510
1511 </tr> <!-- end of entry -->
1512
1513
1514 <tr class="entry" id="controls_android.control.sceneMode">
1515 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1516 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001517 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001518
1519
1520
1521 <ul class="entry_type_enum">
1522 <li>
1523 <span class="entry_type_enum_name">UNSUPPORTED</span>
1524 <span class="entry_type_enum_value">0</span>
1525 </li>
1526 <li>
1527 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1528 <span class="entry_type_enum_notes">if face detection support exists Use face
1529 detection data to drive 3A routines.<wbr> If face detection
1530 statistics are disabled,<wbr> should still operate correctly
1531 (but not return face detection statistics to the
1532 framework).<wbr> Unlike the other scene modes,<wbr> aeMode,<wbr>
1533 awbMode,<wbr> and afMode remain active when FACE_<wbr>PRIORITY is
1534 set.<wbr> This is due to compatibility concerns with the old
1535 camera API</span>
1536 </li>
1537 <li>
1538 <span class="entry_type_enum_name">ACTION</span>
1539 <span class="entry_type_enum_optional">optional</span>
1540 </li>
1541 <li>
1542 <span class="entry_type_enum_name">PORTRAIT</span>
1543 <span class="entry_type_enum_optional">optional</span>
1544 </li>
1545 <li>
1546 <span class="entry_type_enum_name">LANDSCAPE</span>
1547 <span class="entry_type_enum_optional">optional</span>
1548 </li>
1549 <li>
1550 <span class="entry_type_enum_name">NIGHT</span>
1551 <span class="entry_type_enum_optional">optional</span>
1552 </li>
1553 <li>
1554 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1555 <span class="entry_type_enum_optional">optional</span>
1556 </li>
1557 <li>
1558 <span class="entry_type_enum_name">THEATRE</span>
1559 <span class="entry_type_enum_optional">optional</span>
1560 </li>
1561 <li>
1562 <span class="entry_type_enum_name">BEACH</span>
1563 <span class="entry_type_enum_optional">optional</span>
1564 </li>
1565 <li>
1566 <span class="entry_type_enum_name">SNOW</span>
1567 <span class="entry_type_enum_optional">optional</span>
1568 </li>
1569 <li>
1570 <span class="entry_type_enum_name">SUNSET</span>
1571 <span class="entry_type_enum_optional">optional</span>
1572 </li>
1573 <li>
1574 <span class="entry_type_enum_name">STEADYPHOTO</span>
1575 <span class="entry_type_enum_optional">optional</span>
1576 </li>
1577 <li>
1578 <span class="entry_type_enum_name">FIREWORKS</span>
1579 <span class="entry_type_enum_optional">optional</span>
1580 </li>
1581 <li>
1582 <span class="entry_type_enum_name">SPORTS</span>
1583 <span class="entry_type_enum_optional">optional</span>
1584 </li>
1585 <li>
1586 <span class="entry_type_enum_name">PARTY</span>
1587 <span class="entry_type_enum_optional">optional</span>
1588 </li>
1589 <li>
1590 <span class="entry_type_enum_name">CANDLELIGHT</span>
1591 <span class="entry_type_enum_optional">optional</span>
1592 </li>
1593 <li>
1594 <span class="entry_type_enum_name">BARCODE</span>
1595 <span class="entry_type_enum_optional">optional</span>
1596 </li>
1597 </ul>
1598
1599 </td> <!-- entry_type -->
1600
1601 <td class="entry_description">
1602 Which scene mode is active when
1603 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
1604 </td>
1605
1606 <td class="entry_units">
1607 </td>
1608
1609 <td class="entry_range">
1610 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
1611 </td>
1612
1613 <td class="entry_notes">
1614 </td>
1615
1616 <td class="entry_tags">
1617 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001618 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001619 </ul>
1620 </td>
1621
1622 </tr> <!-- end of entry -->
1623
1624
1625 <tr class="entry" id="controls_android.control.videoStabilizationMode">
1626 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
1627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001628 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001629
1630
1631
1632 <ul class="entry_type_enum">
1633 <li>
1634 <span class="entry_type_enum_name">OFF</span>
1635 </li>
1636 <li>
1637 <span class="entry_type_enum_name">ON</span>
1638 </li>
1639 </ul>
1640
1641 </td> <!-- entry_type -->
1642
1643 <td class="entry_description">
1644 Whether video stabilization is
1645 active
1646 </td>
1647
1648 <td class="entry_units">
1649 </td>
1650
1651 <td class="entry_range">
1652 </td>
1653
1654 <td class="entry_notes">
1655 If enabled,<wbr> video stabilization can modify the
1656 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
1657 stabilized
1658 </td>
1659
1660 <td class="entry_tags">
1661 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001662 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001663 </ul>
1664 </td>
1665
1666 </tr> <!-- end of entry -->
1667
1668
1669
1670 <!-- end of kind -->
1671 </tbody>
1672 <tr><td colspan="7" class="kind">static</td></tr>
1673
1674 <thead>
1675 <tr>
1676 <th class="th_name">Property Name</th>
1677 <th class="th_type">Type</th>
1678 <th class="th_description">Description</th>
1679 <th class="th_units">Units</th>
1680 <th class="th_range">Range</th>
1681 <th class="th_notes">Notes</th>
1682 <th class="th_tags">Tags</th>
1683 </tr>
1684 </thead>
1685
1686 <tbody>
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
1698 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
1699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001700 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001701 <span class="entry_type_container">x</span>
1702
1703 <span class="entry_type_array">
1704 n
1705 </span>
1706
1707 <div class="entry_type_notes">list of enums</div>
1708
1709
1710 </td> <!-- entry_type -->
1711
1712 <td class="entry_description">
1713 Which set of antibanding modes are
1714 supported
1715 </td>
1716
1717 <td class="entry_units">
1718 </td>
1719
1720 <td class="entry_range">
1721 </td>
1722
1723 <td class="entry_notes">
1724 </td>
1725
1726 <td class="entry_tags">
1727 </td>
1728
1729 </tr> <!-- end of entry -->
1730
1731
1732 <tr class="entry" id="static_android.control.aeAvailableModes">
1733 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
1734 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001735 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001736 <span class="entry_type_container">x</span>
1737
1738 <span class="entry_type_array">
1739 n
1740 </span>
1741
1742 <div class="entry_type_notes">list of enums</div>
1743
1744
1745 </td> <!-- entry_type -->
1746
1747 <td class="entry_description">
1748 Which subset of AE modes is
1749 supported
1750 </td>
1751
1752 <td class="entry_units">
1753 </td>
1754
1755 <td class="entry_range">
1756 OFF,<wbr> ON must be supported.<wbr>
1757 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
1758 unit is available
1759 </td>
1760
1761 <td class="entry_notes">
1762 </td>
1763
1764 <td class="entry_tags">
1765 </td>
1766
1767 </tr> <!-- end of entry -->
1768
1769
1770 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
1771 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
1772 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001773 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001774 <span class="entry_type_container">x</span>
1775
1776 <span class="entry_type_array">
1777 2 x n
1778 </span>
1779
1780 <div class="entry_type_notes">list of pairs of frame rates</div>
1781
1782
1783 </td> <!-- entry_type -->
1784
1785 <td class="entry_description">
1786 List of frame rate ranges supported by the
1787 AE algorithm/<wbr>hardware
1788 </td>
1789
1790 <td class="entry_units">
1791 </td>
1792
1793 <td class="entry_range">
1794 </td>
1795
1796 <td class="entry_notes">
1797 </td>
1798
1799 <td class="entry_tags">
1800 </td>
1801
1802 </tr> <!-- end of entry -->
1803
1804
1805 <tr class="entry" id="static_android.control.aeCompensationRange">
1806 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
1807 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001808 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001809 <span class="entry_type_container">x</span>
1810
1811 <span class="entry_type_array">
1812 2
1813 </span>
1814
1815
1816
1817 </td> <!-- entry_type -->
1818
1819 <td class="entry_description">
1820 Maximum and minimum exposure compensation
1821 setting,<wbr> in counts of
1822 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
1823 </td>
1824
1825 <td class="entry_units">
1826 </td>
1827
1828 <td class="entry_range">
1829 At least (-2,<wbr>2)/<wbr>(exp compensation step
1830 size)
1831 </td>
1832
1833 <td class="entry_notes">
1834 </td>
1835
1836 <td class="entry_tags">
1837 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001838 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001839 </ul>
1840 </td>
1841
1842 </tr> <!-- end of entry -->
1843
1844
1845 <tr class="entry" id="static_android.control.aeCompensationStep">
1846 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
1847 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001848 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001849
1850
1851
1852
1853 </td> <!-- entry_type -->
1854
1855 <td class="entry_description">
1856 Smallest step by which exposure compensation
1857 can be changed
1858 </td>
1859
1860 <td class="entry_units">
1861 </td>
1862
1863 <td class="entry_range">
1864 <= 1/<wbr>2
1865 </td>
1866
1867 <td class="entry_notes">
1868 </td>
1869
1870 <td class="entry_tags">
1871 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001872 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001873 </ul>
1874 </td>
1875
1876 </tr> <!-- end of entry -->
1877
1878
1879 <tr class="entry" id="static_android.control.afAvailableModes">
1880 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
1881 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001882 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001883 <span class="entry_type_container">x</span>
1884
1885 <span class="entry_type_array">
1886 n
1887 </span>
1888
1889 <div class="entry_type_notes">List of enums</div>
1890
1891
1892 </td> <!-- entry_type -->
1893
1894 <td class="entry_description">
1895 List of AF modes that can be
1896 selected
1897 </td>
1898
1899 <td class="entry_units">
1900 </td>
1901
1902 <td class="entry_range">
1903 OFF must be included.<wbr> AUTO must be supported if
1904 lens allows for changing focus
1905 </td>
1906
1907 <td class="entry_notes">
1908 </td>
1909
1910 <td class="entry_tags">
1911 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001912 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001913 </ul>
1914 </td>
1915
1916 </tr> <!-- end of entry -->
1917
1918
1919 <tr class="entry" id="static_android.control.availableEffects">
1920 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
1921 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001922 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001923 <span class="entry_type_container">x</span>
1924
1925 <span class="entry_type_array">
1926 n
1927 </span>
1928
1929 <div class="entry_type_notes">list of enums</div>
1930
1931
1932 </td> <!-- entry_type -->
1933
1934 <td class="entry_description">
1935 what subset of the full color effect enum
1936 list is supported
1937 </td>
1938
1939 <td class="entry_units">
1940 </td>
1941
1942 <td class="entry_range">
1943 OFF must be listed
1944 </td>
1945
1946 <td class="entry_notes">
1947 </td>
1948
1949 <td class="entry_tags">
1950 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001951 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001952 </ul>
1953 </td>
1954
1955 </tr> <!-- end of entry -->
1956
1957
1958 <tr class="entry" id="static_android.control.availableSceneModes">
1959 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
1960 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001961 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001962 <span class="entry_type_container">x</span>
1963
1964 <span class="entry_type_array">
1965 n
1966 </span>
1967
1968 <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>
1969
1970
1971 </td> <!-- entry_type -->
1972
1973 <td class="entry_description">
1974 what subset of the scene mode enum list is
1975 supported.<wbr>
1976 </td>
1977
1978 <td class="entry_units">
1979 </td>
1980
1981 <td class="entry_range">
1982 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
1983 detection is supported
1984 </td>
1985
1986 <td class="entry_notes">
1987 </td>
1988
1989 <td class="entry_tags">
1990 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001991 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001992 </ul>
1993 </td>
1994
1995 </tr> <!-- end of entry -->
1996
1997
1998 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
1999 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2000 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002001 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002002 <span class="entry_type_container">x</span>
2003
2004 <span class="entry_type_array">
2005 n
2006 </span>
2007
2008 <div class="entry_type_notes">List of enums.<wbr></div>
2009
2010
2011 </td> <!-- entry_type -->
2012
2013 <td class="entry_description">
2014 List of video stabilization modes that can
2015 be supported
2016 </td>
2017
2018 <td class="entry_units">
2019 </td>
2020
2021 <td class="entry_range">
2022 OFF must be included
2023 </td>
2024
2025 <td class="entry_notes">
2026 </td>
2027
2028 <td class="entry_tags">
2029 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002030 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002031 </ul>
2032 </td>
2033
2034 </tr> <!-- end of entry -->
2035
2036
2037 <tr class="entry" id="static_android.control.awbAvailableModes">
2038 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2039 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002040 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002041
2042
2043
2044
2045 </td> <!-- entry_type -->
2046
2047 <td class="entry_description">
2048 </td>
2049
2050 <td class="entry_units">
2051 List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)
2052 </td>
2053
2054 <td class="entry_range">
2055 OFF,<wbr> AUTO must be included
2056 </td>
2057
2058 <td class="entry_notes">
2059 </td>
2060
2061 <td class="entry_tags">
2062 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002063 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002064 </ul>
2065 </td>
2066
2067 </tr> <!-- end of entry -->
2068
2069
2070 <tr class="entry" id="static_android.control.maxRegions">
2071 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2072 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002073 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002074
2075
2076
2077
2078 </td> <!-- entry_type -->
2079
2080 <td class="entry_description">
2081 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2082 regions can be listed for metering?
2083 </td>
2084
2085 <td class="entry_units">
2086 </td>
2087
2088 <td class="entry_range">
2089 >= 1
2090 </td>
2091
2092 <td class="entry_notes">
2093 </td>
2094
2095 <td class="entry_tags">
2096 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002097 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002098 </ul>
2099 </td>
2100
2101 </tr> <!-- end of entry -->
2102
2103
2104 <tr class="entry" id="static_android.control.sceneModeOverrides">
2105 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2106 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002107 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002108 <span class="entry_type_container">x</span>
2109
2110 <span class="entry_type_array">
2111 3 x lengthavailablescenemodes
2112 </span>
2113
2114
2115
2116 </td> <!-- entry_type -->
2117
2118 <td class="entry_description">
2119 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2120 each available scene mode
2121 </td>
2122
2123 <td class="entry_units">
2124 </td>
2125
2126 <td class="entry_range">
2127 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2128 awbMode,<wbr> and afMode that the HAL wants to use for that
2129 scene mode.<wbr> For each entry,<wbr> the order is {aeMode,<wbr>
2130 awbMode,<wbr> afMode} in order of increasing index
2131 </td>
2132
2133 <td class="entry_notes">
2134 When a scene mode is enabled,<wbr> the HAL is expected
2135 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
2136 preferred settings for that scene mode.<wbr> To simplify
2137 communication with old camera API applications,<wbr> the
2138 service wants this override list in the static metadata.<wbr>
2139 The order of this list matches that of
2140 availableSceneModes,<wbr> with 3 entires for each scene mode.<wbr>
2141 The overrides listed for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are
2142 ignored,<wbr> since for that mode,<wbr> the application-set aeMode,<wbr>
2143 awbMode,<wbr> and afMode are used instead,<wbr> like they are when
2144 android.<wbr>control.<wbr>mode is AUTO.<wbr> It is recommended that for
2145 FACE_<wbr>PRIORITY,<wbr> the overrides should be set to 0.<wbr> As an
2146 example,<wbr> if availableSceneModes is { FACE_<wbr>PRIORITY,<wbr>
2147 ACTION,<wbr> NIGHT },<wbr> then the service expects this field to
2148 have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2149 AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr> INCANDESCENT,<wbr>
2150 AUTO }
2151 </td>
2152
2153 <td class="entry_tags">
2154 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002155 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002156 </ul>
2157 </td>
2158
2159 </tr> <!-- end of entry -->
2160
2161
2162
2163 <!-- end of kind -->
2164 </tbody>
2165 <tr><td colspan="7" class="kind">dynamic</td></tr>
2166
2167 <thead>
2168 <tr>
2169 <th class="th_name">Property Name</th>
2170 <th class="th_type">Type</th>
2171 <th class="th_description">Description</th>
2172 <th class="th_units">Units</th>
2173 <th class="th_range">Range</th>
2174 <th class="th_notes">Notes</th>
2175 <th class="th_tags">Tags</th>
2176 </tr>
2177 </thead>
2178
2179 <tbody>
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2191 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002193 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002194
2195
2196
2197
2198 </td> <!-- entry_type -->
2199
2200 <td class="entry_description">
2201 The ID sent with the latest
2202 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2203 </td>
2204
2205 <td class="entry_units">
2206 </td>
2207
2208 <td class="entry_range">
2209 </td>
2210
2211 <td class="entry_notes">
2212 Must be 0 if no
2213 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2214 by HAL.<wbr> Always updated even if AE algorithm ignores the
2215 trigger
2216 </td>
2217
2218 <td class="entry_tags">
2219 </td>
2220
2221 </tr> <!-- end of entry -->
2222
2223
2224 <tr class="entry" id="dynamic_android.control.aeRegions">
2225 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2226 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002227 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002228 <span class="entry_type_container">x</span>
2229
2230 <span class="entry_type_array">
2231 5 x area_count
2232 </span>
2233
2234
2235
2236 </td> <!-- entry_type -->
2237
2238 <td class="entry_description">
2239 List of areas to use for
2240 metering
2241 </td>
2242
2243 <td class="entry_units">
2244 </td>
2245
2246 <td class="entry_range">
2247 </td>
2248
2249 <td class="entry_notes">
2250 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2251 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2252 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2253 active pixel array,<wbr> and
2254 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2255 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2256 bottom-right point of the active pixel array.<wbr> The weight
2257 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2258 no specific metering area needs to be used by the HAL.<wbr> If
2259 the metering region is outside the current
2260 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2261 sections outside the region and output the used sections
2262 in the frame metadata
2263 </td>
2264
2265 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002266 <ul class="entry_tags">
2267 <li><a href="#tag_BC">BC</a></li>
2268 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002269 </td>
2270
2271 </tr> <!-- end of entry -->
2272
2273
2274 <tr class="entry" id="dynamic_android.control.aeState">
2275 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2276 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002277 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002278
2279
2280
2281 <ul class="entry_type_enum">
2282 <li>
2283 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002284 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2285 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002286 </li>
2287 <li>
2288 <span class="entry_type_enum_name">SEARCHING</span>
2289 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2290 for the current scene</span>
2291 </li>
2292 <li>
2293 <span class="entry_type_enum_name">CONVERGED</span>
2294 <span class="entry_type_enum_notes">AE has a good set of control values for the
2295 current scene</span>
2296 </li>
2297 <li>
2298 <span class="entry_type_enum_name">LOCKED</span>
2299 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2300 LOCKED)</span>
2301 </li>
2302 <li>
2303 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2304 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2305 needs to be fired for good quality still
2306 capture</span>
2307 </li>
2308 <li>
2309 <span class="entry_type_enum_name">PRECAPTURE</span>
2310 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2311 (through the
2312 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2313 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2314 completes,<wbr> AE will transition to CONVERGED or
2315 FLASH_<wbr>REQUIRED as appropriate</span>
2316 </li>
2317 </ul>
2318
2319 </td> <!-- entry_type -->
2320
2321 <td class="entry_description">
2322 Current state of AE algorithm
2323 </td>
2324
2325 <td class="entry_units">
2326 </td>
2327
2328 <td class="entry_range">
2329 </td>
2330
2331 <td class="entry_notes">
2332 Whenever the AE algorithm state changes,<wbr> a
2333 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2334 notification callback is registered.<wbr>
2335 </td>
2336
2337 <td class="entry_tags">
2338 </td>
2339
2340 </tr> <!-- end of entry -->
2341
2342
2343 <tr class="entry" id="dynamic_android.control.afMode">
2344 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2345 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002346 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002347
2348
2349
2350 <ul class="entry_type_enum">
2351 <li>
2352 <span class="entry_type_enum_name">OFF</span>
2353 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
2354 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
2355 application</span>
2356 </li>
2357 <li>
2358 <span class="entry_type_enum_name">AUTO</span>
2359 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
2360 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2361 is fixed focus In this mode,<wbr> the lens does not move
2362 unless the autofocus trigger action is called.<wbr> When
2363 that trigger is activated,<wbr> AF must transition to
2364 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
2365 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2366 position to default,<wbr> and sets the AF state to
2367 INACTIVE.<wbr></span>
2368 </li>
2369 <li>
2370 <span class="entry_type_enum_name">MACRO</span>
2371 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
2372 autofocus trigger action is called.<wbr> When that trigger
2373 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
2374 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
2375 Triggering cancel AF resets the lens position to
2376 default,<wbr> and sets the AF state to
2377 INACTIVE.<wbr></span>
2378 </li>
2379 <li>
2380 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2381 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2382 position continually to attempt to provide a
2383 constantly-in-focus image stream.<wbr> The focusing behavior
2384 should be suitable for good quality video recording;
2385 typically this means slower focus movement and no
2386 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
2387 algorithm should start in INACTIVE state,<wbr> and then
2388 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
2389 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
2390 algorithm should immediately transition into AF_<wbr>FOCUSED
2391 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
2392 position until a cancel AF trigger is received.<wbr> Once
2393 cancel is received,<wbr> the algorithm should transition
2394 back to INACTIVE and resume passive scan.<wbr> Note that
2395 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
2396 since an ongoing PASSIVE_<wbr>SCAN must immediately be
2397 canceled.<wbr></span>
2398 </li>
2399 <li>
2400 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2401 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2402 position continually to attempt to provide a
2403 constantly-in-focus image stream.<wbr> The focusing behavior
2404 should be suitable for still image capture; typically
2405 this means focusing as fast as possible.<wbr> When the AF
2406 trigger is not involved,<wbr> the AF algorithm should start
2407 in INACTIVE state,<wbr> and then transition into
2408 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
2409 as it attempts to maintain focus.<wbr> When the AF trigger
2410 is activated,<wbr> the algorithm should finish its
2411 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
2412 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
2413 the lens position until a cancel AF trigger is
2414 received.<wbr> When the AF cancel trigger is activated,<wbr> the
2415 algorithm should transition back to INACTIVE and then
2416 act as if it has just been started.<wbr></span>
2417 </li>
2418 <li>
2419 <span class="entry_type_enum_name">EDOF</span>
2420 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2421 trigger is ignored,<wbr> AF state should always be
2422 INACTIVE.<wbr></span>
2423 </li>
2424 </ul>
2425
2426 </td> <!-- entry_type -->
2427
2428 <td class="entry_description">
2429 Whether AF is currently enabled,<wbr> and what
2430 mode it is set to
2431 </td>
2432
2433 <td class="entry_units">
2434 </td>
2435
2436 <td class="entry_range">
2437 </td>
2438
2439 <td class="entry_notes">
2440 </td>
2441
2442 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002443 <ul class="entry_tags">
2444 <li><a href="#tag_BC">BC</a></li>
2445 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002446 </td>
2447
2448 </tr> <!-- end of entry -->
2449
2450
2451 <tr class="entry" id="dynamic_android.control.afRegions">
2452 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002454 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002455 <span class="entry_type_container">x</span>
2456
2457 <span class="entry_type_array">
2458 5 x area_count
2459 </span>
2460
2461
2462
2463 </td> <!-- entry_type -->
2464
2465 <td class="entry_description">
2466 List of areas to use for focus
2467 estimation
2468 </td>
2469
2470 <td class="entry_units">
2471 </td>
2472
2473 <td class="entry_range">
2474 </td>
2475
2476 <td class="entry_notes">
2477 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2478 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2479 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2480 active pixel array,<wbr> and
2481 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2482 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2483 bottom-right point of the active pixel array.<wbr> The weight
2484 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2485 no specific focus area needs to be used by the HAL.<wbr> If
2486 the focusing region is outside the current
2487 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2488 sections outside the region and output the used sections
2489 in the frame metadata
2490 </td>
2491
2492 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002493 <ul class="entry_tags">
2494 <li><a href="#tag_BC">BC</a></li>
2495 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002496 </td>
2497
2498 </tr> <!-- end of entry -->
2499
2500
2501 <tr class="entry" id="dynamic_android.control.afState">
2502 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002504 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505
2506
2507
2508 <ul class="entry_type_enum">
2509 <li>
2510 <span class="entry_type_enum_name">INACTIVE</span>
2511 <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 -07002512 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2513 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002514 </li>
2515 <li>
2516 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2517 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2518 currently doing an AF scan initiated by a continuous
2519 autofocus mode</span>
2520 </li>
2521 <li>
2522 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2523 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2524 believes it is in focus,<wbr> but may restart scanning at
2525 any time.<wbr></span>
2526 </li>
2527 <li>
2528 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2529 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2530 an AF scan because it was triggered by AF
2531 trigger</span>
2532 </li>
2533 <li>
2534 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2535 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2536 believes it is focused correctly and is
2537 locked</span>
2538 </li>
2539 <li>
2540 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2541 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2542 failed to focus successfully and is
2543 locked</span>
2544 </li>
2545 </ul>
2546
2547 </td> <!-- entry_type -->
2548
2549 <td class="entry_description">
2550 Current state of AF algorithm
2551 </td>
2552
2553 <td class="entry_units">
2554 </td>
2555
2556 <td class="entry_range">
2557 </td>
2558
2559 <td class="entry_notes">
2560 Whenever the AF algorithm state changes,<wbr> a
2561 MSG_<wbr>AUTOFOCUS notification must be send if a notification
2562 callback is registered.<wbr>
2563 </td>
2564
2565 <td class="entry_tags">
2566 </td>
2567
2568 </tr> <!-- end of entry -->
2569
2570
2571 <tr class="entry" id="dynamic_android.control.afTriggerId">
2572 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
2573 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002574 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002575
2576
2577
2578
2579 </td> <!-- entry_type -->
2580
2581 <td class="entry_description">
2582 The ID sent with the latest
2583 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
2584 </td>
2585
2586 <td class="entry_units">
2587 </td>
2588
2589 <td class="entry_range">
2590 </td>
2591
2592 <td class="entry_notes">
2593 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
2594 received yet by HAL.<wbr> Always updated even if AF algorithm
2595 ignores the trigger
2596 </td>
2597
2598 <td class="entry_tags">
2599 </td>
2600
2601 </tr> <!-- end of entry -->
2602
2603
2604 <tr class="entry" id="dynamic_android.control.awbMode">
2605 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
2606 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002607 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002608
2609
2610
2611 <ul class="entry_type_enum">
2612 <li>
2613 <span class="entry_type_enum_name">OFF</span>
2614 </li>
2615 <li>
2616 <span class="entry_type_enum_name">AUTO</span>
2617 </li>
2618 <li>
2619 <span class="entry_type_enum_name">INCANDESCENT</span>
2620 </li>
2621 <li>
2622 <span class="entry_type_enum_name">FLUORESCENT</span>
2623 </li>
2624 <li>
2625 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
2626 </li>
2627 <li>
2628 <span class="entry_type_enum_name">DAYLIGHT</span>
2629 </li>
2630 <li>
2631 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
2632 </li>
2633 <li>
2634 <span class="entry_type_enum_name">TWILIGHT</span>
2635 </li>
2636 <li>
2637 <span class="entry_type_enum_name">SHADE</span>
2638 </li>
2639 </ul>
2640
2641 </td> <!-- entry_type -->
2642
2643 <td class="entry_description">
2644 Whether AWB is currently setting the color
2645 transform fields,<wbr> and what its illumination target
2646 is
2647 </td>
2648
2649 <td class="entry_units">
2650 </td>
2651
2652 <td class="entry_range">
2653 </td>
2654
2655 <td class="entry_notes">
2656 [BC - AWB lock,<wbr>AWB modes]
2657 </td>
2658
2659 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002660 <ul class="entry_tags">
2661 <li><a href="#tag_BC">BC</a></li>
2662 <li><a href="#tag_AWB">AWB</a></li>
2663 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002664 </td>
2665
2666 </tr> <!-- end of entry -->
2667
2668
2669 <tr class="entry" id="dynamic_android.control.awbRegions">
2670 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
2671 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002672 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002673 <span class="entry_type_container">x</span>
2674
2675 <span class="entry_type_array">
2676 5 x area_count
2677 </span>
2678
2679
2680
2681 </td> <!-- entry_type -->
2682
2683 <td class="entry_description">
2684 List of areas to use for illuminant
2685 estimation
2686 </td>
2687
2688 <td class="entry_units">
2689 </td>
2690
2691 <td class="entry_range">
2692 </td>
2693
2694 <td class="entry_notes">
2695 Only used in AUTO mode.<wbr> Each area is a rectangle
2696 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
2697 coordinate system is based on the active pixel array,<wbr>
2698 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
2699 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2700 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2701 bottom-right point of the active pixel array.<wbr> The weight
2702 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2703 no specific metering area needs to be used by the HAL.<wbr> If
2704 the metering region is outside the current
2705 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2706 sections outside the region and output the used sections
2707 in the frame metadata
2708 </td>
2709
2710 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002711 <ul class="entry_tags">
2712 <li><a href="#tag_BC">BC</a></li>
2713 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002714 </td>
2715
2716 </tr> <!-- end of entry -->
2717
2718
2719 <tr class="entry" id="dynamic_android.control.awbState">
2720 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
2721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002722 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002723
2724
2725
2726 <ul class="entry_type_enum">
2727 <li>
2728 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002729 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
2730 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002731 </li>
2732 <li>
2733 <span class="entry_type_enum_name">SEARCHING</span>
2734 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
2735 values for the current scene</span>
2736 </li>
2737 <li>
2738 <span class="entry_type_enum_name">CONVERGED</span>
2739 <span class="entry_type_enum_notes">AWB has a good set of control values for the
2740 current scene</span>
2741 </li>
2742 <li>
2743 <span class="entry_type_enum_name">LOCKED</span>
2744 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2745 LOCKED)</span>
2746 </li>
2747 </ul>
2748
2749 </td> <!-- entry_type -->
2750
2751 <td class="entry_description">
2752 Current state of AWB algorithm
2753 </td>
2754
2755 <td class="entry_units">
2756 </td>
2757
2758 <td class="entry_range">
2759 </td>
2760
2761 <td class="entry_notes">
2762 Whenever the AWB algorithm state changes,<wbr> a
2763 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
2764 notification callback is registered.<wbr>
2765 </td>
2766
2767 <td class="entry_tags">
2768 </td>
2769
2770 </tr> <!-- end of entry -->
2771
2772
2773 <tr class="entry" id="dynamic_android.control.mode">
2774 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
2775 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002776 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002777
2778
2779
2780 <ul class="entry_type_enum">
2781 <li>
2782 <span class="entry_type_enum_name">OFF</span>
2783 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
2784 routines are disabled,<wbr> no other settings in
2785 android.<wbr>control.<wbr>* have any effect</span>
2786 </li>
2787 <li>
2788 <span class="entry_type_enum_name">AUTO</span>
2789 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
2790 Manual control of capture parameters is disabled.<wbr> All
2791 controls in android.<wbr>control.<wbr>* besides sceneMode take
2792 effect</span>
2793 </li>
2794 <li>
2795 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
2796 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
2797 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
2798 controls; the HAL must ignore those settings while
2799 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
2800 scene mode).<wbr> Other control entries are still active.<wbr>
2801 This setting can only be used if availableSceneModes !=
2802 UNSUPPORTED</span>
2803 </li>
2804 </ul>
2805
2806 </td> <!-- entry_type -->
2807
2808 <td class="entry_description">
2809 Overall mode of 3A control
2810 routines
2811 </td>
2812
2813 <td class="entry_units">
2814 </td>
2815
2816 <td class="entry_range">
2817 all must be supported
2818 </td>
2819
2820 <td class="entry_notes">
2821 </td>
2822
2823 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002824 <ul class="entry_tags">
2825 <li><a href="#tag_BC">BC</a></li>
2826 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002827 </td>
2828
2829 </tr> <!-- end of entry -->
2830
2831
2832
2833 <!-- end of kind -->
2834 </tbody>
2835
2836 <!-- end of section -->
2837 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
2838
2839
2840 <tr><td colspan="7" class="kind">controls</td></tr>
2841
2842 <thead>
2843 <tr>
2844 <th class="th_name">Property Name</th>
2845 <th class="th_type">Type</th>
2846 <th class="th_description">Description</th>
2847 <th class="th_units">Units</th>
2848 <th class="th_range">Range</th>
2849 <th class="th_notes">Notes</th>
2850 <th class="th_tags">Tags</th>
2851 </tr>
2852 </thead>
2853
2854 <tbody>
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865 <tr class="entry" id="controls_android.demosaic.mode">
2866 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
2867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002868 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002869
2870
2871
2872 <ul class="entry_type_enum">
2873 <li>
2874 <span class="entry_type_enum_name">FAST</span>
2875 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
2876 Bayer RAW output</span>
2877 </li>
2878 <li>
2879 <span class="entry_type_enum_name">HIGH_QUALITY</span>
2880 <span class="entry_type_enum_notes">High-quality may reduce output frame
2881 rate</span>
2882 </li>
2883 </ul>
2884
2885 </td> <!-- entry_type -->
2886
2887 <td class="entry_description">
2888 Controls the quality of the demosaicing
2889 processing
2890 </td>
2891
2892 <td class="entry_units">
2893 </td>
2894
2895 <td class="entry_range">
2896 </td>
2897
2898 <td class="entry_notes">
2899 </td>
2900
2901 <td class="entry_tags">
2902 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002903 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002904 </ul>
2905 </td>
2906
2907 </tr> <!-- end of entry -->
2908
2909
2910
2911 <!-- end of kind -->
2912 </tbody>
2913
2914 <!-- end of section -->
2915 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
2916
2917
2918 <tr><td colspan="7" class="kind">controls</td></tr>
2919
2920 <thead>
2921 <tr>
2922 <th class="th_name">Property Name</th>
2923 <th class="th_type">Type</th>
2924 <th class="th_description">Description</th>
2925 <th class="th_units">Units</th>
2926 <th class="th_range">Range</th>
2927 <th class="th_notes">Notes</th>
2928 <th class="th_tags">Tags</th>
2929 </tr>
2930 </thead>
2931
2932 <tbody>
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943 <tr class="entry" id="controls_android.edge.mode">
2944 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
2945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002946 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002947
2948
2949
2950 <ul class="entry_type_enum">
2951 <li>
2952 <span class="entry_type_enum_name">OFF</span>
2953 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
2954 </li>
2955 <li>
2956 <span class="entry_type_enum_name">FAST</span>
2957 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
2958 bayer output</span>
2959 </li>
2960 <li>
2961 <span class="entry_type_enum_name">HIGH_QUALITY</span>
2962 <span class="entry_type_enum_notes">Frame rate may be reduced by high
2963 quality</span>
2964 </li>
2965 </ul>
2966
2967 </td> <!-- entry_type -->
2968
2969 <td class="entry_description">
2970 Operation mode for edge
2971 enhancement
2972 </td>
2973
2974 <td class="entry_units">
2975 </td>
2976
2977 <td class="entry_range">
2978 </td>
2979
2980 <td class="entry_notes">
2981 </td>
2982
2983 <td class="entry_tags">
2984 </td>
2985
2986 </tr> <!-- end of entry -->
2987
2988
2989 <tr class="entry" id="controls_android.edge.strength">
2990 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
2991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002992 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002993
2994
2995
2996
2997 </td> <!-- entry_type -->
2998
2999 <td class="entry_description">
3000 Control the amount of edge enhancement
3001 applied to the images
3002 </td>
3003
3004 <td class="entry_units">
3005 1-10; 10 is maximum sharpening
3006 </td>
3007
3008 <td class="entry_range">
3009 </td>
3010
3011 <td class="entry_notes">
3012 </td>
3013
3014 <td class="entry_tags">
3015 </td>
3016
3017 </tr> <!-- end of entry -->
3018
3019
3020
3021 <!-- end of kind -->
3022 </tbody>
3023 <tr><td colspan="7" class="kind">dynamic</td></tr>
3024
3025 <thead>
3026 <tr>
3027 <th class="th_name">Property Name</th>
3028 <th class="th_type">Type</th>
3029 <th class="th_description">Description</th>
3030 <th class="th_units">Units</th>
3031 <th class="th_range">Range</th>
3032 <th class="th_notes">Notes</th>
3033 <th class="th_tags">Tags</th>
3034 </tr>
3035 </thead>
3036
3037 <tbody>
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048 <tr class="entry" id="dynamic_android.edge.mode">
3049 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3050 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003051 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003052
3053
3054
3055 <ul class="entry_type_enum">
3056 <li>
3057 <span class="entry_type_enum_name">OFF</span>
3058 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3059 </li>
3060 <li>
3061 <span class="entry_type_enum_name">FAST</span>
3062 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3063 bayer output</span>
3064 </li>
3065 <li>
3066 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3067 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3068 quality</span>
3069 </li>
3070 </ul>
3071
3072 </td> <!-- entry_type -->
3073
3074 <td class="entry_description">
3075 Operation mode for edge
3076 enhancement
3077 </td>
3078
3079 <td class="entry_units">
3080 </td>
3081
3082 <td class="entry_range">
3083 </td>
3084
3085 <td class="entry_notes">
3086 </td>
3087
3088 <td class="entry_tags">
3089 </td>
3090
3091 </tr> <!-- end of entry -->
3092
3093
3094
3095 <!-- end of kind -->
3096 </tbody>
3097
3098 <!-- end of section -->
3099 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3100
3101
3102 <tr><td colspan="7" class="kind">controls</td></tr>
3103
3104 <thead>
3105 <tr>
3106 <th class="th_name">Property Name</th>
3107 <th class="th_type">Type</th>
3108 <th class="th_description">Description</th>
3109 <th class="th_units">Units</th>
3110 <th class="th_range">Range</th>
3111 <th class="th_notes">Notes</th>
3112 <th class="th_tags">Tags</th>
3113 </tr>
3114 </thead>
3115
3116 <tbody>
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127 <tr class="entry" id="controls_android.flash.firingPower">
3128 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003130 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003131
3132
3133
3134
3135 </td> <!-- entry_type -->
3136
3137 <td class="entry_description">
3138 Power for flash firing/<wbr>torch
3139 </td>
3140
3141 <td class="entry_units">
3142 10 is max power; 0 is no flash.<wbr> Linear
3143 </td>
3144
3145 <td class="entry_range">
3146 0 - 10
3147 </td>
3148
3149 <td class="entry_notes">
3150 Power for snapshot may use a different scale than
3151 for torch mode.<wbr> Only one entry for torch mode will be
3152 used
3153 </td>
3154
3155 <td class="entry_tags">
3156 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003157 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003158 </ul>
3159 </td>
3160
3161 </tr> <!-- end of entry -->
3162
3163
3164 <tr class="entry" id="controls_android.flash.firingTime">
3165 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3166 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003167 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003168
3169
3170
3171
3172 </td> <!-- entry_type -->
3173
3174 <td class="entry_description">
3175 Firing time of flash relative to start of
3176 exposure
3177 </td>
3178
3179 <td class="entry_units">
3180 nanoseconds
3181 </td>
3182
3183 <td class="entry_range">
3184 0-(exposure time-flash duration)
3185 </td>
3186
3187 <td class="entry_notes">
3188 Clamped to (0,<wbr> exposure time - flash
3189 duration).<wbr>
3190 </td>
3191
3192 <td class="entry_tags">
3193 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003194 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003195 </ul>
3196 </td>
3197
3198 </tr> <!-- end of entry -->
3199
3200
3201 <tr class="entry" id="controls_android.flash.mode">
3202 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3203 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003204 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003205
3206
3207
3208 <ul class="entry_type_enum">
3209 <li>
3210 <span class="entry_type_enum_name">OFF</span>
3211 <span class="entry_type_enum_notes">Do not fire the flash for this
3212 capture</span>
3213 </li>
3214 <li>
3215 <span class="entry_type_enum_name">SINGLE</span>
3216 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3217 for this capture based on firingPower,<wbr>
3218 firingTime.<wbr></span>
3219 </li>
3220 <li>
3221 <span class="entry_type_enum_name">TORCH</span>
3222 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3223 continuously on,<wbr> power set by
3224 firingPower</span>
3225 </li>
3226 </ul>
3227
3228 </td> <!-- entry_type -->
3229
3230 <td class="entry_description">
3231 Select flash operation mode
3232 </td>
3233
3234 <td class="entry_units">
3235 </td>
3236
3237 <td class="entry_range">
3238 </td>
3239
3240 <td class="entry_notes">
3241 </td>
3242
3243 <td class="entry_tags">
3244 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003245 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003246 </ul>
3247 </td>
3248
3249 </tr> <!-- end of entry -->
3250
3251
3252
3253 <!-- end of kind -->
3254 </tbody>
3255 <tr><td colspan="7" class="kind">static</td></tr>
3256
3257 <thead>
3258 <tr>
3259 <th class="th_name">Property Name</th>
3260 <th class="th_type">Type</th>
3261 <th class="th_description">Description</th>
3262 <th class="th_units">Units</th>
3263 <th class="th_range">Range</th>
3264 <th class="th_notes">Notes</th>
3265 <th class="th_tags">Tags</th>
3266 </tr>
3267 </thead>
3268
3269 <tbody>
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282 <tr class="entry" id="static_android.flash.info.available">
3283 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3284 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003285 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003286
3287
3288
3289
3290 </td> <!-- entry_type -->
3291
3292 <td class="entry_description">
3293 Whether this camera has a
3294 flash
3295 </td>
3296
3297 <td class="entry_units">
3298 boolean (0 = false,<wbr> otherwise true)
3299 </td>
3300
3301 <td class="entry_range">
3302 </td>
3303
3304 <td class="entry_notes">
3305 If no flash,<wbr> none of the flash controls do
3306 anything.<wbr> All other metadata should return 0
3307 </td>
3308
3309 <td class="entry_tags">
3310 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003311 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003312 </ul>
3313 </td>
3314
3315 </tr> <!-- end of entry -->
3316
3317
3318 <tr class="entry" id="static_android.flash.info.chargeDuration">
3319 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003321 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003322
3323
3324
3325
3326 </td> <!-- entry_type -->
3327
3328 <td class="entry_description">
3329 Time taken before flash can fire
3330 again
3331 </td>
3332
3333 <td class="entry_units">
3334 nanoseconds
3335 </td>
3336
3337 <td class="entry_range">
3338 0-1e9
3339 </td>
3340
3341 <td class="entry_notes">
3342 1 second too long/<wbr>too short for recharge? Should
3343 this be power-dependent?
3344 </td>
3345
3346 <td class="entry_tags">
3347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003348 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003349 </ul>
3350 </td>
3351
3352 </tr> <!-- end of entry -->
3353
3354
3355
3356
3357
3358 <tr class="entry" id="static_android.flash.colorTemperature">
3359 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3360 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003361 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003362
3363
3364
3365
3366 </td> <!-- entry_type -->
3367
3368 <td class="entry_description">
3369 The x,<wbr>y whitepoint of the
3370 flash
3371 </td>
3372
3373 <td class="entry_units">
3374 pair of floats
3375 </td>
3376
3377 <td class="entry_range">
3378 0-1 for both
3379 </td>
3380
3381 <td class="entry_notes">
3382 </td>
3383
3384 <td class="entry_tags">
3385 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003386 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003387 </ul>
3388 </td>
3389
3390 </tr> <!-- end of entry -->
3391
3392
3393 <tr class="entry" id="static_android.flash.maxEnergy">
3394 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3395 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003396 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003397
3398
3399
3400
3401 </td> <!-- entry_type -->
3402
3403 <td class="entry_description">
3404 Max energy output of the flash for a full
3405 power single flash
3406 </td>
3407
3408 <td class="entry_units">
3409 lumen-seconds
3410 </td>
3411
3412 <td class="entry_range">
3413 >= 0
3414 </td>
3415
3416 <td class="entry_notes">
3417 </td>
3418
3419 <td class="entry_tags">
3420 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003421 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003422 </ul>
3423 </td>
3424
3425 </tr> <!-- end of entry -->
3426
3427
3428
3429 <!-- end of kind -->
3430 </tbody>
3431 <tr><td colspan="7" class="kind">dynamic</td></tr>
3432
3433 <thead>
3434 <tr>
3435 <th class="th_name">Property Name</th>
3436 <th class="th_type">Type</th>
3437 <th class="th_description">Description</th>
3438 <th class="th_units">Units</th>
3439 <th class="th_range">Range</th>
3440 <th class="th_notes">Notes</th>
3441 <th class="th_tags">Tags</th>
3442 </tr>
3443 </thead>
3444
3445 <tbody>
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456 <tr class="entry" id="dynamic_android.flash.firingPower">
3457 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003459 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003460
3461
3462
3463
3464 </td> <!-- entry_type -->
3465
3466 <td class="entry_description">
3467 Power for flash firing/<wbr>torch
3468 </td>
3469
3470 <td class="entry_units">
3471 10 is max power; 0 is no flash.<wbr> Linear
3472 </td>
3473
3474 <td class="entry_range">
3475 0 - 10
3476 </td>
3477
3478 <td class="entry_notes">
3479 Power for snapshot may use a different scale than
3480 for torch mode.<wbr> Only one entry for torch mode will be
3481 used
3482 </td>
3483
3484 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003485 <ul class="entry_tags">
3486 <li><a href="#tag_V1">V1</a></li>
3487 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003488 </td>
3489
3490 </tr> <!-- end of entry -->
3491
3492
3493 <tr class="entry" id="dynamic_android.flash.firingTime">
3494 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003496 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003497
3498
3499
3500
3501 </td> <!-- entry_type -->
3502
3503 <td class="entry_description">
3504 Firing time of flash relative to start of
3505 exposure
3506 </td>
3507
3508 <td class="entry_units">
3509 nanoseconds
3510 </td>
3511
3512 <td class="entry_range">
3513 0-(exposure time-flash duration)
3514 </td>
3515
3516 <td class="entry_notes">
3517 Clamped to (0,<wbr> exposure time - flash
3518 duration).<wbr>
3519 </td>
3520
3521 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003522 <ul class="entry_tags">
3523 <li><a href="#tag_V1">V1</a></li>
3524 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003525 </td>
3526
3527 </tr> <!-- end of entry -->
3528
3529
3530 <tr class="entry" id="dynamic_android.flash.mode">
3531 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3532 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003533 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003534
3535
3536
3537 <ul class="entry_type_enum">
3538 <li>
3539 <span class="entry_type_enum_name">OFF</span>
3540 <span class="entry_type_enum_notes">Do not fire the flash for this
3541 capture</span>
3542 </li>
3543 <li>
3544 <span class="entry_type_enum_name">SINGLE</span>
3545 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3546 for this capture based on firingPower,<wbr>
3547 firingTime.<wbr></span>
3548 </li>
3549 <li>
3550 <span class="entry_type_enum_name">TORCH</span>
3551 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3552 continuously on,<wbr> power set by
3553 firingPower</span>
3554 </li>
3555 </ul>
3556
3557 </td> <!-- entry_type -->
3558
3559 <td class="entry_description">
3560 Select flash operation mode
3561 </td>
3562
3563 <td class="entry_units">
3564 </td>
3565
3566 <td class="entry_range">
3567 </td>
3568
3569 <td class="entry_notes">
3570 </td>
3571
3572 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003573 <ul class="entry_tags">
3574 <li><a href="#tag_BC">BC</a></li>
3575 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003576 </td>
3577
3578 </tr> <!-- end of entry -->
3579
3580
3581 <tr class="entry" id="dynamic_android.flash.state">
3582 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
3583 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003584 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003585
3586
3587
3588 <ul class="entry_type_enum">
3589 <li>
3590 <span class="entry_type_enum_name">UNAVAILABLE</span>
3591 <span class="entry_type_enum_notes">No flash on camera</span>
3592 </li>
3593 <li>
3594 <span class="entry_type_enum_name">CHARGING</span>
3595 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3596 charging and cannot be fired</span>
3597 </li>
3598 <li>
3599 <span class="entry_type_enum_name">READY</span>
3600 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3601 ready to fire</span>
3602 </li>
3603 <li>
3604 <span class="entry_type_enum_name">FIRED</span>
3605 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
3606 for this capture</span>
3607 </li>
3608 </ul>
3609
3610 </td> <!-- entry_type -->
3611
3612 <td class="entry_description">
3613 Current state of the flash
3614 unit
3615 </td>
3616
3617 <td class="entry_units">
3618 </td>
3619
3620 <td class="entry_range">
3621 </td>
3622
3623 <td class="entry_notes">
3624 </td>
3625
3626 <td class="entry_tags">
3627 </td>
3628
3629 </tr> <!-- end of entry -->
3630
3631
3632
3633 <!-- end of kind -->
3634 </tbody>
3635
3636 <!-- end of section -->
3637 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
3638
3639
3640 <tr><td colspan="7" class="kind">controls</td></tr>
3641
3642 <thead>
3643 <tr>
3644 <th class="th_name">Property Name</th>
3645 <th class="th_type">Type</th>
3646 <th class="th_description">Description</th>
3647 <th class="th_units">Units</th>
3648 <th class="th_range">Range</th>
3649 <th class="th_notes">Notes</th>
3650 <th class="th_tags">Tags</th>
3651 </tr>
3652 </thead>
3653
3654 <tbody>
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665 <tr class="entry" id="controls_android.geometric.mode">
3666 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
3667 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003668 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003669
3670
3671
3672 <ul class="entry_type_enum">
3673 <li>
3674 <span class="entry_type_enum_name">OFF</span>
3675 <span class="entry_type_enum_notes">No geometric correction is
3676 applied</span>
3677 </li>
3678 <li>
3679 <span class="entry_type_enum_name">FAST</span>
3680 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3681 bayer output</span>
3682 </li>
3683 <li>
3684 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3685 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3686 quality</span>
3687 </li>
3688 </ul>
3689
3690 </td> <!-- entry_type -->
3691
3692 <td class="entry_description">
3693 Operating mode of geometric
3694 correction
3695 </td>
3696
3697 <td class="entry_units">
3698 </td>
3699
3700 <td class="entry_range">
3701 </td>
3702
3703 <td class="entry_notes">
3704 </td>
3705
3706 <td class="entry_tags">
3707 </td>
3708
3709 </tr> <!-- end of entry -->
3710
3711
3712 <tr class="entry" id="controls_android.geometric.strength">
3713 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
3714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003715 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003716
3717
3718
3719
3720 </td> <!-- entry_type -->
3721
3722 <td class="entry_description">
3723 Control the amount of shading correction
3724 applied to the images
3725 </td>
3726
3727 <td class="entry_units">
3728 unitless: 1-10; 10 is full shading
3729 compensation
3730 </td>
3731
3732 <td class="entry_range">
3733 </td>
3734
3735 <td class="entry_notes">
3736 </td>
3737
3738 <td class="entry_tags">
3739 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003740 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003741 </ul>
3742 </td>
3743
3744 </tr> <!-- end of entry -->
3745
3746
3747
3748 <!-- end of kind -->
3749 </tbody>
3750
3751 <!-- end of section -->
3752 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
3753
3754
3755 <tr><td colspan="7" class="kind">controls</td></tr>
3756
3757 <thead>
3758 <tr>
3759 <th class="th_name">Property Name</th>
3760 <th class="th_type">Type</th>
3761 <th class="th_description">Description</th>
3762 <th class="th_units">Units</th>
3763 <th class="th_range">Range</th>
3764 <th class="th_notes">Notes</th>
3765 <th class="th_tags">Tags</th>
3766 </tr>
3767 </thead>
3768
3769 <tbody>
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780 <tr class="entry" id="controls_android.hotPixel.mode">
3781 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3782 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003783 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003784
3785
3786
3787 <ul class="entry_type_enum">
3788 <li>
3789 <span class="entry_type_enum_name">OFF</span>
3790 <span class="entry_type_enum_notes">No hot pixel correction can be
3791 applied</span>
3792 </li>
3793 <li>
3794 <span class="entry_type_enum_name">FAST</span>
3795 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3796 Bayer output</span>
3797 </li>
3798 <li>
3799 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3800 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3801 quality</span>
3802 </li>
3803 </ul>
3804
3805 </td> <!-- entry_type -->
3806
3807 <td class="entry_description">
3808 Set operational mode for hot pixel
3809 correction
3810 </td>
3811
3812 <td class="entry_units">
3813 </td>
3814
3815 <td class="entry_range">
3816 </td>
3817
3818 <td class="entry_notes">
3819 </td>
3820
3821 <td class="entry_tags">
3822 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003823 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003824 </ul>
3825 </td>
3826
3827 </tr> <!-- end of entry -->
3828
3829
3830
3831 <!-- end of kind -->
3832 </tbody>
3833 <tr><td colspan="7" class="kind">static</td></tr>
3834
3835 <thead>
3836 <tr>
3837 <th class="th_name">Property Name</th>
3838 <th class="th_type">Type</th>
3839 <th class="th_description">Description</th>
3840 <th class="th_units">Units</th>
3841 <th class="th_range">Range</th>
3842 <th class="th_notes">Notes</th>
3843 <th class="th_tags">Tags</th>
3844 </tr>
3845 </thead>
3846
3847 <tbody>
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860 <tr class="entry" id="static_android.hotPixel.info.map">
3861 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
3862 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003863 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003864 <span class="entry_type_container">x</span>
3865
3866 <span class="entry_type_array">
3867 2 x n
3868 </span>
3869
3870 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
3871
3872
3873 </td> <!-- entry_type -->
3874
3875 <td class="entry_description">
3876 Location of hot/<wbr>defective pixels on
3877 sensor
3878 </td>
3879
3880 <td class="entry_units">
3881 </td>
3882
3883 <td class="entry_range">
3884 </td>
3885
3886 <td class="entry_notes">
3887 </td>
3888
3889 <td class="entry_tags">
3890 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003891 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003892 </ul>
3893 </td>
3894
3895 </tr> <!-- end of entry -->
3896
3897
3898
3899
3900
3901
3902 <!-- end of kind -->
3903 </tbody>
3904 <tr><td colspan="7" class="kind">dynamic</td></tr>
3905
3906 <thead>
3907 <tr>
3908 <th class="th_name">Property Name</th>
3909 <th class="th_type">Type</th>
3910 <th class="th_description">Description</th>
3911 <th class="th_units">Units</th>
3912 <th class="th_range">Range</th>
3913 <th class="th_notes">Notes</th>
3914 <th class="th_tags">Tags</th>
3915 </tr>
3916 </thead>
3917
3918 <tbody>
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929 <tr class="entry" id="dynamic_android.hotPixel.mode">
3930 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3931 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003932 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003933
3934
3935
3936 <ul class="entry_type_enum">
3937 <li>
3938 <span class="entry_type_enum_name">OFF</span>
3939 <span class="entry_type_enum_notes">No hot pixel correction can be
3940 applied</span>
3941 </li>
3942 <li>
3943 <span class="entry_type_enum_name">FAST</span>
3944 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3945 Bayer output</span>
3946 </li>
3947 <li>
3948 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3949 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3950 quality</span>
3951 </li>
3952 </ul>
3953
3954 </td> <!-- entry_type -->
3955
3956 <td class="entry_description">
3957 Set operational mode for hot pixel
3958 correction
3959 </td>
3960
3961 <td class="entry_units">
3962 </td>
3963
3964 <td class="entry_range">
3965 </td>
3966
3967 <td class="entry_notes">
3968 </td>
3969
3970 <td class="entry_tags">
3971 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003972 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003973 </ul>
3974 </td>
3975
3976 </tr> <!-- end of entry -->
3977
3978
3979
3980 <!-- end of kind -->
3981 </tbody>
3982
3983 <!-- end of section -->
3984 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
3985
3986
3987 <tr><td colspan="7" class="kind">controls</td></tr>
3988
3989 <thead>
3990 <tr>
3991 <th class="th_name">Property Name</th>
3992 <th class="th_type">Type</th>
3993 <th class="th_description">Description</th>
3994 <th class="th_units">Units</th>
3995 <th class="th_range">Range</th>
3996 <th class="th_notes">Notes</th>
3997 <th class="th_tags">Tags</th>
3998 </tr>
3999 </thead>
4000
4001 <tbody>
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4013 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4014 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004015 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004016 <span class="entry_type_container">x</span>
4017
4018 <span class="entry_type_array">
4019 3
4020 </span>
4021
4022 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4023
4024
4025 </td> <!-- entry_type -->
4026
4027 <td class="entry_description">
4028 GPS coordinates to include in output JPEG
4029 EXIF
4030 </td>
4031
4032 <td class="entry_units">
4033 </td>
4034
4035 <td class="entry_range">
4036 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4037 </td>
4038
4039 <td class="entry_notes">
4040 </td>
4041
4042 <td class="entry_tags">
4043 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004044 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004045 </ul>
4046 </td>
4047
4048 </tr> <!-- end of entry -->
4049
4050
4051 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4052 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4053 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004054 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004055
4056
4057
4058
4059 </td> <!-- entry_type -->
4060
4061 <td class="entry_description">
4062 32 characters describing GPS algorithm to
4063 include in EXIF
4064 </td>
4065
4066 <td class="entry_units">
4067 UTF-8 null-terminated string
4068 </td>
4069
4070 <td class="entry_range">
4071 </td>
4072
4073 <td class="entry_notes">
4074 </td>
4075
4076 <td class="entry_tags">
4077 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004078 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004079 </ul>
4080 </td>
4081
4082 </tr> <!-- end of entry -->
4083
4084
4085 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4086 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4087 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004088 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004089
4090
4091
4092
4093 </td> <!-- entry_type -->
4094
4095 <td class="entry_description">
4096 Time GPS fix was made to include in
4097 EXIF
4098 </td>
4099
4100 <td class="entry_units">
4101 UTC in seconds since January 1,<wbr> 1970
4102 </td>
4103
4104 <td class="entry_range">
4105 </td>
4106
4107 <td class="entry_notes">
4108 </td>
4109
4110 <td class="entry_tags">
4111 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004112 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004113 </ul>
4114 </td>
4115
4116 </tr> <!-- end of entry -->
4117
4118
4119 <tr class="entry" id="controls_android.jpeg.orientation">
4120 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4121 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004122 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004123
4124
4125
4126
4127 </td> <!-- entry_type -->
4128
4129 <td class="entry_description">
4130 Orientation of JPEG image to
4131 write
4132 </td>
4133
4134 <td class="entry_units">
4135 Degrees in multiples of 90
4136 </td>
4137
4138 <td class="entry_range">
4139 0,<wbr> 90,<wbr> 180,<wbr> 270
4140 </td>
4141
4142 <td class="entry_notes">
4143 </td>
4144
4145 <td class="entry_tags">
4146 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004147 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004148 </ul>
4149 </td>
4150
4151 </tr> <!-- end of entry -->
4152
4153
4154 <tr class="entry" id="controls_android.jpeg.quality">
4155 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004157 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004158
4159
4160
4161
4162 </td> <!-- entry_type -->
4163
4164 <td class="entry_description">
4165 Compression quality of the final JPEG
4166 image
4167 </td>
4168
4169 <td class="entry_units">
4170 </td>
4171
4172 <td class="entry_range">
4173 1-100; larger is higher quality
4174 </td>
4175
4176 <td class="entry_notes">
4177 85-95 is typical usage range
4178 </td>
4179
4180 <td class="entry_tags">
4181 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004182 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004183 </ul>
4184 </td>
4185
4186 </tr> <!-- end of entry -->
4187
4188
4189 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4190 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4191 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004192 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004193
4194
4195
4196
4197 </td> <!-- entry_type -->
4198
4199 <td class="entry_description">
4200 Compression quality of JPEG
4201 thumbnail
4202 </td>
4203
4204 <td class="entry_units">
4205 </td>
4206
4207 <td class="entry_range">
4208 1-100; larger is higher quality
4209 </td>
4210
4211 <td class="entry_notes">
4212 </td>
4213
4214 <td class="entry_tags">
4215 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004216 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004217 </ul>
4218 </td>
4219
4220 </tr> <!-- end of entry -->
4221
4222
4223 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4224 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4225 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004226 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004227 <span class="entry_type_container">x</span>
4228
4229 <span class="entry_type_array">
4230 2
4231 </span>
4232
4233
4234
4235 </td> <!-- entry_type -->
4236
4237 <td class="entry_description">
4238 Resolution of embedded JPEG
4239 thumbnail
4240 </td>
4241
4242 <td class="entry_units">
4243 </td>
4244
4245 <td class="entry_range">
4246 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4247 </td>
4248
4249 <td class="entry_notes">
4250 </td>
4251
4252 <td class="entry_tags">
4253 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004254 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004255 </ul>
4256 </td>
4257
4258 </tr> <!-- end of entry -->
4259
4260
4261
4262 <!-- end of kind -->
4263 </tbody>
4264 <tr><td colspan="7" class="kind">static</td></tr>
4265
4266 <thead>
4267 <tr>
4268 <th class="th_name">Property Name</th>
4269 <th class="th_type">Type</th>
4270 <th class="th_description">Description</th>
4271 <th class="th_units">Units</th>
4272 <th class="th_range">Range</th>
4273 <th class="th_notes">Notes</th>
4274 <th class="th_tags">Tags</th>
4275 </tr>
4276 </thead>
4277
4278 <tbody>
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4290 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4291 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004292 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004293 <span class="entry_type_container">x</span>
4294
4295 <span class="entry_type_array">
4296 2 x n
4297 </span>
4298
4299 <div class="entry_type_notes">list of resolution pairs</div>
4300
4301
4302 </td> <!-- entry_type -->
4303
4304 <td class="entry_description">
4305 Supported resolutions for the JPEG
4306 thumbnail
4307 </td>
4308
4309 <td class="entry_units">
4310 </td>
4311
4312 <td class="entry_range">
4313 Must include at least one valid resolution,<wbr> plus
4314 (0,<wbr>0) for no thumbnail generation
4315 </td>
4316
4317 <td class="entry_notes">
4318 </td>
4319
4320 <td class="entry_tags">
4321 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004322 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004323 </ul>
4324 </td>
4325
4326 </tr> <!-- end of entry -->
4327
4328
4329 <tr class="entry" id="static_android.jpeg.maxSize">
4330 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4331 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004332 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004333
4334
4335
4336
4337 </td> <!-- entry_type -->
4338
4339 <td class="entry_description">
4340 Maximum size in bytes for the compressed
4341 JPEG buffer
4342 </td>
4343
4344 <td class="entry_units">
4345 </td>
4346
4347 <td class="entry_range">
4348 Must be large enough to fit any JPEG produced by
4349 the camera
4350 </td>
4351
4352 <td class="entry_notes">
4353 This is used for sizing the gralloc buffers for
4354 JPEG
4355 </td>
4356
4357 <td class="entry_tags">
4358 </td>
4359
4360 </tr> <!-- end of entry -->
4361
4362
4363
4364 <!-- end of kind -->
4365 </tbody>
4366 <tr><td colspan="7" class="kind">dynamic</td></tr>
4367
4368 <thead>
4369 <tr>
4370 <th class="th_name">Property Name</th>
4371 <th class="th_type">Type</th>
4372 <th class="th_description">Description</th>
4373 <th class="th_units">Units</th>
4374 <th class="th_range">Range</th>
4375 <th class="th_notes">Notes</th>
4376 <th class="th_tags">Tags</th>
4377 </tr>
4378 </thead>
4379
4380 <tbody>
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4392 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4393 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004394 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004395 <span class="entry_type_container">x</span>
4396
4397 <span class="entry_type_array">
4398 3
4399 </span>
4400
4401 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4402
4403
4404 </td> <!-- entry_type -->
4405
4406 <td class="entry_description">
4407 GPS coordinates to include in output JPEG
4408 EXIF
4409 </td>
4410
4411 <td class="entry_units">
4412 </td>
4413
4414 <td class="entry_range">
4415 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4416 </td>
4417
4418 <td class="entry_notes">
4419 </td>
4420
4421 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004422 <ul class="entry_tags">
4423 <li><a href="#tag_BC">BC</a></li>
4424 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004425 </td>
4426
4427 </tr> <!-- end of entry -->
4428
4429
4430 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4431 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4432 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004433 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004434
4435
4436
4437
4438 </td> <!-- entry_type -->
4439
4440 <td class="entry_description">
4441 32 characters describing GPS algorithm to
4442 include in EXIF
4443 </td>
4444
4445 <td class="entry_units">
4446 UTF-8 null-terminated string
4447 </td>
4448
4449 <td class="entry_range">
4450 </td>
4451
4452 <td class="entry_notes">
4453 </td>
4454
4455 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004456 <ul class="entry_tags">
4457 <li><a href="#tag_BC">BC</a></li>
4458 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004459 </td>
4460
4461 </tr> <!-- end of entry -->
4462
4463
4464 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4465 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4466 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004467 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004468
4469
4470
4471
4472 </td> <!-- entry_type -->
4473
4474 <td class="entry_description">
4475 Time GPS fix was made to include in
4476 EXIF
4477 </td>
4478
4479 <td class="entry_units">
4480 UTC in seconds since January 1,<wbr> 1970
4481 </td>
4482
4483 <td class="entry_range">
4484 </td>
4485
4486 <td class="entry_notes">
4487 </td>
4488
4489 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004490 <ul class="entry_tags">
4491 <li><a href="#tag_BC">BC</a></li>
4492 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004493 </td>
4494
4495 </tr> <!-- end of entry -->
4496
4497
4498 <tr class="entry" id="dynamic_android.jpeg.orientation">
4499 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4500 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004501 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004502
4503
4504
4505
4506 </td> <!-- entry_type -->
4507
4508 <td class="entry_description">
4509 Orientation of JPEG image to
4510 write
4511 </td>
4512
4513 <td class="entry_units">
4514 Degrees in multiples of 90
4515 </td>
4516
4517 <td class="entry_range">
4518 0,<wbr> 90,<wbr> 180,<wbr> 270
4519 </td>
4520
4521 <td class="entry_notes">
4522 </td>
4523
4524 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004525 <ul class="entry_tags">
4526 <li><a href="#tag_BC">BC</a></li>
4527 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004528 </td>
4529
4530 </tr> <!-- end of entry -->
4531
4532
4533 <tr class="entry" id="dynamic_android.jpeg.quality">
4534 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4535 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004536 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004537
4538
4539
4540
4541 </td> <!-- entry_type -->
4542
4543 <td class="entry_description">
4544 Compression quality of the final JPEG
4545 image
4546 </td>
4547
4548 <td class="entry_units">
4549 </td>
4550
4551 <td class="entry_range">
4552 1-100; larger is higher quality
4553 </td>
4554
4555 <td class="entry_notes">
4556 85-95 is typical usage range
4557 </td>
4558
4559 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004560 <ul class="entry_tags">
4561 <li><a href="#tag_BC">BC</a></li>
4562 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004563 </td>
4564
4565 </tr> <!-- end of entry -->
4566
4567
4568 <tr class="entry" id="dynamic_android.jpeg.size">
4569 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
4570 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004571 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004572
4573
4574
4575
4576 </td> <!-- entry_type -->
4577
4578 <td class="entry_description">
4579 The size of the compressed JPEG image,<wbr> in
4580 bytes
4581 </td>
4582
4583 <td class="entry_units">
4584 </td>
4585
4586 <td class="entry_range">
4587 >= 0
4588 </td>
4589
4590 <td class="entry_notes">
4591 If no JPEG output is produced for the request,<wbr>
4592 this must be 0.<wbr> Otherwise,<wbr> this describes the real size
4593 of the compressed JPEG image placed in the output stream.<wbr>
4594 More specifically,<wbr> if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and
4595 a specific capture has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then
4596 the output buffer from the JPEG stream will be 1000000
4597 bytes,<wbr> of which the first 500000 make up the real
4598 data.<wbr>
4599 </td>
4600
4601 <td class="entry_tags">
4602 </td>
4603
4604 </tr> <!-- end of entry -->
4605
4606
4607 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
4608 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4609 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004610 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004611
4612
4613
4614
4615 </td> <!-- entry_type -->
4616
4617 <td class="entry_description">
4618 Compression quality of JPEG
4619 thumbnail
4620 </td>
4621
4622 <td class="entry_units">
4623 </td>
4624
4625 <td class="entry_range">
4626 1-100; larger is higher quality
4627 </td>
4628
4629 <td class="entry_notes">
4630 </td>
4631
4632 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004633 <ul class="entry_tags">
4634 <li><a href="#tag_BC">BC</a></li>
4635 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004636 </td>
4637
4638 </tr> <!-- end of entry -->
4639
4640
4641 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
4642 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4643 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004644 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004645 <span class="entry_type_container">x</span>
4646
4647 <span class="entry_type_array">
4648 2
4649 </span>
4650
4651
4652
4653 </td> <!-- entry_type -->
4654
4655 <td class="entry_description">
4656 Resolution of embedded JPEG
4657 thumbnail
4658 </td>
4659
4660 <td class="entry_units">
4661 </td>
4662
4663 <td class="entry_range">
4664 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4665 </td>
4666
4667 <td class="entry_notes">
4668 </td>
4669
4670 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004671 <ul class="entry_tags">
4672 <li><a href="#tag_BC">BC</a></li>
4673 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004674 </td>
4675
4676 </tr> <!-- end of entry -->
4677
4678
4679
4680 <!-- end of kind -->
4681 </tbody>
4682
4683 <!-- end of section -->
4684 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
4685
4686
4687 <tr><td colspan="7" class="kind">controls</td></tr>
4688
4689 <thead>
4690 <tr>
4691 <th class="th_name">Property Name</th>
4692 <th class="th_type">Type</th>
4693 <th class="th_description">Description</th>
4694 <th class="th_units">Units</th>
4695 <th class="th_range">Range</th>
4696 <th class="th_notes">Notes</th>
4697 <th class="th_tags">Tags</th>
4698 </tr>
4699 </thead>
4700
4701 <tbody>
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712 <tr class="entry" id="controls_android.lens.aperture">
4713 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
4714 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004715 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004716
4717
4718
4719
4720 </td> <!-- entry_type -->
4721
4722 <td class="entry_description">
4723 Size of the lens aperture
4724 </td>
4725
4726 <td class="entry_units">
4727 f-number (f/<wbr>NNN)
4728 </td>
4729
4730 <td class="entry_range">
4731 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
4732 </td>
4733
4734 <td class="entry_notes">
4735 Will not be supported on most devices.<wbr> Can only
4736 pick from supported list
4737 </td>
4738
4739 <td class="entry_tags">
4740 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004741 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004742 </ul>
4743 </td>
4744
4745 </tr> <!-- end of entry -->
4746
4747
4748 <tr class="entry" id="controls_android.lens.filterDensity">
4749 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
4750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004751 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004752
4753
4754
4755
4756 </td> <!-- entry_type -->
4757
4758 <td class="entry_description">
4759 State of lens neutral density
4760 filter(s)
4761 </td>
4762
4763 <td class="entry_units">
4764 number of stops of filtering
4765 </td>
4766
4767 <td class="entry_range">
4768 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
4769 </td>
4770
4771 <td class="entry_notes">
4772 Will not be supported on most devices.<wbr> Can only
4773 pick from supported list
4774 </td>
4775
4776 <td class="entry_tags">
4777 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004778 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004779 </ul>
4780 </td>
4781
4782 </tr> <!-- end of entry -->
4783
4784
4785 <tr class="entry" id="controls_android.lens.focalLength">
4786 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
4787 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004788 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004789
4790
4791
4792
4793 </td> <!-- entry_type -->
4794
4795 <td class="entry_description">
4796 Lens optical zoom setting
4797 </td>
4798
4799 <td class="entry_units">
4800 focal length in mm
4801 </td>
4802
4803 <td class="entry_range">
4804 > 0
4805 </td>
4806
4807 <td class="entry_notes">
4808 Will not be supported on most devices.<wbr>
4809 </td>
4810
4811 <td class="entry_tags">
4812 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004813 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004814 </ul>
4815 </td>
4816
4817 </tr> <!-- end of entry -->
4818
4819
4820 <tr class="entry" id="controls_android.lens.focusDistance">
4821 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
4822 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004823 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004824
4825
4826
4827
4828 </td> <!-- entry_type -->
4829
4830 <td class="entry_description">
4831 Distance to plane of sharpest focus,<wbr>
4832 measured from frontmost surface of the lens
4833 </td>
4834
4835 <td class="entry_units">
4836 diopters (1/<wbr>m)
4837 </td>
4838
4839 <td class="entry_range">
4840 >= 0
4841 </td>
4842
4843 <td class="entry_notes">
4844 0 = infinity focus.<wbr> Used value should be clamped
4845 to (0,<wbr>minimum focus distance)
4846 </td>
4847
4848 <td class="entry_tags">
4849 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004850 <li><a href="#tag_BC">BC</a></li>
4851 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004852 </ul>
4853 </td>
4854
4855 </tr> <!-- end of entry -->
4856
4857
4858 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
4859 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
4860 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004861 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004862
4863
4864
4865 <ul class="entry_type_enum">
4866 <li>
4867 <span class="entry_type_enum_name">OFF</span>
4868 </li>
4869 <li>
4870 <span class="entry_type_enum_name">ON</span>
4871 <span class="entry_type_enum_optional">optional</span>
4872 </li>
4873 </ul>
4874
4875 </td> <!-- entry_type -->
4876
4877 <td class="entry_description">
4878 Whether optical image stabilization is
4879 enabled.<wbr>
4880 </td>
4881
4882 <td class="entry_units">
4883 </td>
4884
4885 <td class="entry_range">
4886 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
4887 </td>
4888
4889 <td class="entry_notes">
4890 Will not be supported on most devices.<wbr>
4891 </td>
4892
4893 <td class="entry_tags">
4894 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004895 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004896 </ul>
4897 </td>
4898
4899 </tr> <!-- end of entry -->
4900
4901
4902
4903 <!-- end of kind -->
4904 </tbody>
4905 <tr><td colspan="7" class="kind">static</td></tr>
4906
4907 <thead>
4908 <tr>
4909 <th class="th_name">Property Name</th>
4910 <th class="th_type">Type</th>
4911 <th class="th_description">Description</th>
4912 <th class="th_units">Units</th>
4913 <th class="th_range">Range</th>
4914 <th class="th_notes">Notes</th>
4915 <th class="th_tags">Tags</th>
4916 </tr>
4917 </thead>
4918
4919 <tbody>
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932 <tr class="entry" id="static_android.lens.info.availableApertures">
4933 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
4934 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004935 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004936 <span class="entry_type_container">x</span>
4937
4938 <span class="entry_type_array">
4939 n
4940 </span>
4941
4942
4943
4944 </td> <!-- entry_type -->
4945
4946 <td class="entry_description">
4947 List of supported aperture
4948 values
4949 </td>
4950
4951 <td class="entry_units">
4952 </td>
4953
4954 <td class="entry_range">
4955 one entry required,<wbr> > 0
4956 </td>
4957
4958 <td class="entry_notes">
4959 If variable aperture not available,<wbr> only setting
4960 should be for the fixed aperture
4961 </td>
4962
4963 <td class="entry_tags">
4964 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004965 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004966 </ul>
4967 </td>
4968
4969 </tr> <!-- end of entry -->
4970
4971
4972 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
4973 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
4974 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004975 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004976 <span class="entry_type_container">x</span>
4977
4978 <span class="entry_type_array">
4979 n
4980 </span>
4981
4982
4983
4984 </td> <!-- entry_type -->
4985
4986 <td class="entry_description">
4987 List of supported ND filter
4988 values
4989 </td>
4990
4991 <td class="entry_units">
4992 </td>
4993
4994 <td class="entry_range">
4995 one entry required,<wbr> >= 0
4996 </td>
4997
4998 <td class="entry_notes">
4999 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5000 lists the available exposure index values for dimming
5001 (2 would mean the filter is set to reduce incoming
5002 light by two stops)
5003 </td>
5004
5005 <td class="entry_tags">
5006 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005007 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005008 </ul>
5009 </td>
5010
5011 </tr> <!-- end of entry -->
5012
5013
5014 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5015 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5016 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005017 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005018 <span class="entry_type_container">x</span>
5019
5020 <span class="entry_type_array">
5021 n
5022 </span>
5023
5024 <div class="entry_type_notes">the list of available focal lengths</div>
5025
5026
5027 </td> <!-- entry_type -->
5028
5029 <td class="entry_description">
5030 If fitted with optical zoom,<wbr> what focal
5031 lengths are available.<wbr> If not,<wbr> the static focal
5032 length
5033 </td>
5034
5035 <td class="entry_units">
5036 </td>
5037
5038 <td class="entry_range">
5039 > 0
5040 </td>
5041
5042 <td class="entry_notes">
5043 If optical zoom not supported,<wbr> only one value
5044 should be reported
5045 </td>
5046
5047 <td class="entry_tags">
5048 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005049 <li><a href="#tag_BC">BC</a></li>
5050 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005051 </ul>
5052 </td>
5053
5054 </tr> <!-- end of entry -->
5055
5056
5057 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5058 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5059 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005060 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005061 <span class="entry_type_container">x</span>
5062
5063 <span class="entry_type_array">
5064 n
5065 </span>
5066
5067 <div class="entry_type_notes">list of enums</div>
5068
5069
5070 </td> <!-- entry_type -->
5071
5072 <td class="entry_description">
5073 List of supported optical image
5074 stabilization modes
5075 </td>
5076
5077 <td class="entry_units">
5078 </td>
5079
5080 <td class="entry_range">
5081 </td>
5082
5083 <td class="entry_notes">
5084 </td>
5085
5086 <td class="entry_tags">
5087 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005088 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005089 </ul>
5090 </td>
5091
5092 </tr> <!-- end of entry -->
5093
5094
5095 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5096 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5097 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005098 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 <span class="entry_type_container">x</span>
5100
5101 <span class="entry_type_array">
5102 2 x 3 x n x m
5103 </span>
5104
5105 <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>
5106
5107
5108 </td> <!-- entry_type -->
5109
5110 <td class="entry_description">
5111 A low-resolution map for correction of
5112 geometric distortions and chromatic aberrations,<wbr> per
5113 color channel
5114 </td>
5115
5116 <td class="entry_units">
5117 </td>
5118
5119 <td class="entry_range">
5120 N,<wbr> M >= 2
5121 </td>
5122
5123 <td class="entry_notes">
5124 [DNG wants a function instead].<wbr> What's easiest
5125 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5126 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5127 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5128 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5129 </td>
5130
5131 <td class="entry_tags">
5132 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005133 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005134 </ul>
5135 </td>
5136
5137 </tr> <!-- end of entry -->
5138
5139
5140 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5141 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5142 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005143 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005144 <span class="entry_type_container">x</span>
5145
5146 <span class="entry_type_array">
5147 2
5148 </span>
5149
5150 <div class="entry_type_notes">width and height of geometric correction map</div>
5151
5152
5153 </td> <!-- entry_type -->
5154
5155 <td class="entry_description">
5156 Dimensions of geometric correction
5157 map
5158 </td>
5159
5160 <td class="entry_units">
5161 </td>
5162
5163 <td class="entry_range">
5164 Both values >= 2
5165 </td>
5166
5167 <td class="entry_notes">
5168 </td>
5169
5170 <td class="entry_tags">
5171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005172 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005173 </ul>
5174 </td>
5175
5176 </tr> <!-- end of entry -->
5177
5178
5179 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5180 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5181 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005182 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005183
5184
5185
5186
5187 </td> <!-- entry_type -->
5188
5189 <td class="entry_description">
5190 Hyperfocal distance for this lens; set to
5191 0 if fixed focus
5192 </td>
5193
5194 <td class="entry_units">
5195 diopters
5196 </td>
5197
5198 <td class="entry_range">
5199 >= 0
5200 </td>
5201
5202 <td class="entry_notes">
5203 The hyperfocal distance is used for the old
5204 API's 'fixed' setting
5205 </td>
5206
5207 <td class="entry_tags">
5208 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005209 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005210 </ul>
5211 </td>
5212
5213 </tr> <!-- end of entry -->
5214
5215
5216 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5217 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005219 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005220
5221
5222
5223
5224 </td> <!-- entry_type -->
5225
5226 <td class="entry_description">
5227 Shortest distance from frontmost surface
5228 of the lens that can be focused correctly
5229 </td>
5230
5231 <td class="entry_units">
5232 diopters
5233 </td>
5234
5235 <td class="entry_range">
5236 >= 0
5237 </td>
5238
5239 <td class="entry_notes">
5240 If the lens is fixed-focus,<wbr> this should be
5241 0
5242 </td>
5243
5244 <td class="entry_tags">
5245 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005246 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005247 </ul>
5248 </td>
5249
5250 </tr> <!-- end of entry -->
5251
5252
5253 <tr class="entry" id="static_android.lens.info.shadingMap">
5254 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map</td>
5255 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005256 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005257 <span class="entry_type_container">x</span>
5258
5259 <span class="entry_type_array">
5260 3 x n x m
5261 </span>
5262
5263 <div class="entry_type_notes">2D array of float gain factors per channel to correct for lens falloff.<wbr> Should be on the order of 3x40x30</div>
5264
5265
5266 </td> <!-- entry_type -->
5267
5268 <td class="entry_description">
5269 A low-resolution map of lens shading,<wbr> per
5270 color channel
5271 </td>
5272
5273 <td class="entry_units">
5274 </td>
5275
5276 <td class="entry_range">
5277 Each gain factor is >= 1
5278 </td>
5279
5280 <td class="entry_notes">
5281 Assume bilinear interpolation of map.<wbr> The least
5282 shaded section of the image should have a gain factor
5283 of 1; all other sections should have gains above
5284 1.<wbr>
5285 </td>
5286
5287 <td class="entry_tags">
5288 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005289 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005290 </ul>
5291 </td>
5292
5293 </tr> <!-- end of entry -->
5294
5295
5296 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5297 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5298 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005299 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005300 <span class="entry_type_container">x</span>
5301
5302 <span class="entry_type_array">
5303 2
5304 </span>
5305
5306 <div class="entry_type_notes">width and height of lens shading map</div>
5307
5308
5309 </td> <!-- entry_type -->
5310
5311 <td class="entry_description">
5312 Dimensions of lens shading
5313 map
5314 </td>
5315
5316 <td class="entry_units">
5317 </td>
5318
5319 <td class="entry_range">
5320 Both values >= 1
5321 </td>
5322
5323 <td class="entry_notes">
5324 </td>
5325
5326 <td class="entry_tags">
5327 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005328 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005329 </ul>
5330 </td>
5331
5332 </tr> <!-- end of entry -->
5333
5334
5335
5336
5337
5338 <tr class="entry" id="static_android.lens.facing">
5339 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5340 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005341 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005342
5343
5344
5345 <ul class="entry_type_enum">
5346 <li>
5347 <span class="entry_type_enum_name">FRONT</span>
5348 </li>
5349 <li>
5350 <span class="entry_type_enum_name">BACK</span>
5351 </li>
5352 </ul>
5353
5354 </td> <!-- entry_type -->
5355
5356 <td class="entry_description">
5357 Direction the camera faces relative to
5358 device screen
5359 </td>
5360
5361 <td class="entry_units">
5362 </td>
5363
5364 <td class="entry_range">
5365 </td>
5366
5367 <td class="entry_notes">
5368 </td>
5369
5370 <td class="entry_tags">
5371 </td>
5372
5373 </tr> <!-- end of entry -->
5374
5375
5376 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5377 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5378 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005379 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005380 <span class="entry_type_container">x</span>
5381
5382 <span class="entry_type_array">
5383 2
5384 </span>
5385
5386 <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>
5387
5388
5389 </td> <!-- entry_type -->
5390
5391 <td class="entry_description">
5392 Relative angle of camera optical axis to the
5393 perpendicular axis from the display
5394 </td>
5395
5396 <td class="entry_units">
5397 </td>
5398
5399 <td class="entry_range">
5400 [0-90) for first angle,<wbr> [0-360) for second
5401 </td>
5402
5403 <td class="entry_notes">
5404 Examples: (0,<wbr>0) means that the camera optical axis
5405 is perpendicular to the display surface; (45,<wbr>0) means
5406 that the camera points 45 degrees up when device is held
5407 upright; (45,<wbr>90) means the camera points 45 degrees to
5408 the right when the device is held upright.<wbr> Use FACING
5409 field to determine perpendicular outgoing
5410 direction
5411 </td>
5412
5413 <td class="entry_tags">
5414 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005415 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005416 </ul>
5417 </td>
5418
5419 </tr> <!-- end of entry -->
5420
5421
5422 <tr class="entry" id="static_android.lens.position">
5423 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5424 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005425 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005426 <span class="entry_type_container">x</span>
5427
5428 <span class="entry_type_array">
5429 3, location in mm, in the sensor coordinate
5430 system
5431 </span>
5432
5433
5434
5435 </td> <!-- entry_type -->
5436
5437 <td class="entry_description">
5438 Coordinates of camera optical axis on
5439 device
5440 </td>
5441
5442 <td class="entry_units">
5443 </td>
5444
5445 <td class="entry_range">
5446 </td>
5447
5448 <td class="entry_notes">
5449 </td>
5450
5451 <td class="entry_tags">
5452 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005453 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005454 </ul>
5455 </td>
5456
5457 </tr> <!-- end of entry -->
5458
5459
5460
5461 <!-- end of kind -->
5462 </tbody>
5463 <tr><td colspan="7" class="kind">dynamic</td></tr>
5464
5465 <thead>
5466 <tr>
5467 <th class="th_name">Property Name</th>
5468 <th class="th_type">Type</th>
5469 <th class="th_description">Description</th>
5470 <th class="th_units">Units</th>
5471 <th class="th_range">Range</th>
5472 <th class="th_notes">Notes</th>
5473 <th class="th_tags">Tags</th>
5474 </tr>
5475 </thead>
5476
5477 <tbody>
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488 <tr class="entry" id="dynamic_android.lens.aperture">
5489 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5490 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005491 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005492
5493
5494
5495
5496 </td> <!-- entry_type -->
5497
5498 <td class="entry_description">
5499 Size of the lens aperture
5500 </td>
5501
5502 <td class="entry_units">
5503 f-number (f/<wbr>NNN)
5504 </td>
5505
5506 <td class="entry_range">
5507 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5508 </td>
5509
5510 <td class="entry_notes">
5511 Will not be supported on most devices.<wbr> Can only
5512 pick from supported list
5513 </td>
5514
5515 <td class="entry_tags">
5516 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005517 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005518 </ul>
5519 </td>
5520
5521 </tr> <!-- end of entry -->
5522
5523
5524 <tr class="entry" id="dynamic_android.lens.filterDensity">
5525 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5526 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005527 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005528
5529
5530
5531
5532 </td> <!-- entry_type -->
5533
5534 <td class="entry_description">
5535 State of lens neutral density
5536 filter(s)
5537 </td>
5538
5539 <td class="entry_units">
5540 number of stops of filtering
5541 </td>
5542
5543 <td class="entry_range">
5544 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5545 </td>
5546
5547 <td class="entry_notes">
5548 Will not be supported on most devices.<wbr> Can only
5549 pick from supported list
5550 </td>
5551
5552 <td class="entry_tags">
5553 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005554 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005555 </ul>
5556 </td>
5557
5558 </tr> <!-- end of entry -->
5559
5560
5561 <tr class="entry" id="dynamic_android.lens.focalLength">
5562 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005564 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005565
5566
5567
5568
5569 </td> <!-- entry_type -->
5570
5571 <td class="entry_description">
5572 Lens optical zoom setting
5573 </td>
5574
5575 <td class="entry_units">
5576 focal length in mm
5577 </td>
5578
5579 <td class="entry_range">
5580 > 0
5581 </td>
5582
5583 <td class="entry_notes">
5584 Will not be supported on most devices.<wbr>
5585 </td>
5586
5587 <td class="entry_tags">
5588 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005589 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005590 </ul>
5591 </td>
5592
5593 </tr> <!-- end of entry -->
5594
5595
5596 <tr class="entry" id="dynamic_android.lens.focusDistance">
5597 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005599 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005600
5601
5602
5603
5604 </td> <!-- entry_type -->
5605
5606 <td class="entry_description">
5607 Distance to plane of sharpest focus,<wbr>
5608 measured from frontmost surface of the lens
5609 </td>
5610
5611 <td class="entry_units">
5612 diopters (1/<wbr>m)
5613 </td>
5614
5615 <td class="entry_range">
5616 >= 0
5617 </td>
5618
5619 <td class="entry_notes">
5620 Should be zero for fixed-focus cameras
5621 </td>
5622
5623 <td class="entry_tags">
5624 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005625 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005626 </ul>
5627 </td>
5628
5629 </tr> <!-- end of entry -->
5630
5631
5632 <tr class="entry" id="dynamic_android.lens.focusRange">
5633 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
5634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005635 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005636
5637
5638
5639
5640 </td> <!-- entry_type -->
5641
5642 <td class="entry_description">
5643 The range of scene distances that are in
5644 sharp focus (depth of field)
5645 </td>
5646
5647 <td class="entry_units">
5648 pair of focus distances in diopters: (near,<wbr>
5649 far)
5650 </td>
5651
5652 <td class="entry_range">
5653 >=0
5654 </td>
5655
5656 <td class="entry_notes">
5657 If variable focus not supported,<wbr> can still report
5658 fixed depth of field range
5659 </td>
5660
5661 <td class="entry_tags">
5662 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005663 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664 </ul>
5665 </td>
5666
5667 </tr> <!-- end of entry -->
5668
5669
5670 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
5671 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5672 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005673 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005674
5675
5676
5677 <ul class="entry_type_enum">
5678 <li>
5679 <span class="entry_type_enum_name">OFF</span>
5680 </li>
5681 <li>
5682 <span class="entry_type_enum_name">ON</span>
5683 <span class="entry_type_enum_optional">optional</span>
5684 </li>
5685 </ul>
5686
5687 </td> <!-- entry_type -->
5688
5689 <td class="entry_description">
5690 Whether optical image stabilization is
5691 enabled.<wbr>
5692 </td>
5693
5694 <td class="entry_units">
5695 </td>
5696
5697 <td class="entry_range">
5698 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5699 </td>
5700
5701 <td class="entry_notes">
5702 Will not be supported on most devices.<wbr>
5703 </td>
5704
5705 <td class="entry_tags">
5706 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005707 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005708 </ul>
5709 </td>
5710
5711 </tr> <!-- end of entry -->
5712
5713
5714 <tr class="entry" id="dynamic_android.lens.state">
5715 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
5716 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005717 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005718
5719
5720
5721 <ul class="entry_type_enum">
5722 <li>
5723 <span class="entry_type_enum_name">STATIONARY</span>
5724 </li>
5725 </ul>
5726
5727 </td> <!-- entry_type -->
5728
5729 <td class="entry_description">
5730 Current lens status
5731 </td>
5732
5733 <td class="entry_units">
5734 </td>
5735
5736 <td class="entry_range">
5737 </td>
5738
5739 <td class="entry_notes">
5740 </td>
5741
5742 <td class="entry_tags">
5743 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005744 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005745 </ul>
5746 </td>
5747
5748 </tr> <!-- end of entry -->
5749
5750
5751
5752 <!-- end of kind -->
5753 </tbody>
5754
5755 <!-- end of section -->
5756 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
5757
5758
5759 <tr><td colspan="7" class="kind">controls</td></tr>
5760
5761 <thead>
5762 <tr>
5763 <th class="th_name">Property Name</th>
5764 <th class="th_type">Type</th>
5765 <th class="th_description">Description</th>
5766 <th class="th_units">Units</th>
5767 <th class="th_range">Range</th>
5768 <th class="th_notes">Notes</th>
5769 <th class="th_tags">Tags</th>
5770 </tr>
5771 </thead>
5772
5773 <tbody>
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784 <tr class="entry" id="controls_android.noiseReduction.mode">
5785 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005787 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005788
5789
5790
5791 <ul class="entry_type_enum">
5792 <li>
5793 <span class="entry_type_enum_name">OFF</span>
5794 <span class="entry_type_enum_notes">No noise reduction is applied</span>
5795 </li>
5796 <li>
5797 <span class="entry_type_enum_name">FAST</span>
5798 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5799 bayer output</span>
5800 </li>
5801 <li>
5802 <span class="entry_type_enum_name">HIGH_QUALITY</span>
5803 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5804 quality</span>
5805 </li>
5806 </ul>
5807
5808 </td> <!-- entry_type -->
5809
5810 <td class="entry_description">
5811 Mode of operation for the noise reduction
5812 algorithm
5813 </td>
5814
5815 <td class="entry_units">
5816 </td>
5817
5818 <td class="entry_range">
5819 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5820 </td>
5821
5822 <td class="entry_notes">
5823 </td>
5824
5825 <td class="entry_tags">
5826 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005827 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005828 </ul>
5829 </td>
5830
5831 </tr> <!-- end of entry -->
5832
5833
5834 <tr class="entry" id="controls_android.noiseReduction.strength">
5835 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
5836 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005837 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005838
5839
5840
5841
5842 </td> <!-- entry_type -->
5843
5844 <td class="entry_description">
5845 Control the amount of noise reduction
5846 applied to the images
5847 </td>
5848
5849 <td class="entry_units">
5850 1-10; 10 is max noise reduction
5851 </td>
5852
5853 <td class="entry_range">
5854 1 - 10
5855 </td>
5856
5857 <td class="entry_notes">
5858 </td>
5859
5860 <td class="entry_tags">
5861 </td>
5862
5863 </tr> <!-- end of entry -->
5864
5865
5866
5867 <!-- end of kind -->
5868 </tbody>
5869 <tr><td colspan="7" class="kind">dynamic</td></tr>
5870
5871 <thead>
5872 <tr>
5873 <th class="th_name">Property Name</th>
5874 <th class="th_type">Type</th>
5875 <th class="th_description">Description</th>
5876 <th class="th_units">Units</th>
5877 <th class="th_range">Range</th>
5878 <th class="th_notes">Notes</th>
5879 <th class="th_tags">Tags</th>
5880 </tr>
5881 </thead>
5882
5883 <tbody>
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894 <tr class="entry" id="dynamic_android.noiseReduction.mode">
5895 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5896 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005897 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005898
5899
5900
5901 <ul class="entry_type_enum">
5902 <li>
5903 <span class="entry_type_enum_name">OFF</span>
5904 <span class="entry_type_enum_notes">No noise reduction is applied</span>
5905 </li>
5906 <li>
5907 <span class="entry_type_enum_name">FAST</span>
5908 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5909 bayer output</span>
5910 </li>
5911 <li>
5912 <span class="entry_type_enum_name">HIGH_QUALITY</span>
5913 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5914 quality</span>
5915 </li>
5916 </ul>
5917
5918 </td> <!-- entry_type -->
5919
5920 <td class="entry_description">
5921 Mode of operation for the noise reduction
5922 algorithm
5923 </td>
5924
5925 <td class="entry_units">
5926 </td>
5927
5928 <td class="entry_range">
5929 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5930 </td>
5931
5932 <td class="entry_notes">
5933 </td>
5934
5935 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005936 <ul class="entry_tags">
5937 <li><a href="#tag_V1">V1</a></li>
5938 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005939 </td>
5940
5941 </tr> <!-- end of entry -->
5942
5943
5944
5945 <!-- end of kind -->
5946 </tbody>
5947
5948 <!-- end of section -->
5949 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
5950
5951
5952 <tr><td colspan="7" class="kind">static</td></tr>
5953
5954 <thead>
5955 <tr>
5956 <th class="th_name">Property Name</th>
5957 <th class="th_type">Type</th>
5958 <th class="th_description">Description</th>
5959 <th class="th_units">Units</th>
5960 <th class="th_range">Range</th>
5961 <th class="th_notes">Notes</th>
5962 <th class="th_tags">Tags</th>
5963 </tr>
5964 </thead>
5965
5966 <tbody>
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977 <tr class="entry" id="static_android.quirks.meteringCropRegion">
5978 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
5979 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005980 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005981
5982
5983
5984
5985 </td> <!-- entry_type -->
5986
5987 <td class="entry_description">
5988 If set to 1,<wbr> the camera service does not
5989 scale 'normalized' coordinates with respect to the crop
5990 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
5991 and output (face rectangles).<wbr>
5992 </td>
5993
5994 <td class="entry_units">
5995 </td>
5996
5997 <td class="entry_range">
5998 </td>
5999
6000 <td class="entry_notes">
6001 Normalized coordinates refer to those in the
6002 (-1000,<wbr>1000) range mentioned in the
6003 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr> HAL implementations should
6004 instead always use and emit sensor array-relative
6005 coordinates for all region data.<wbr> Does not need to be
6006 listed in static metadata.<wbr> Support will be removed in
6007 future versions of camera service.<wbr>
6008 </td>
6009
6010 <td class="entry_tags">
6011 </td>
6012
6013 </tr> <!-- end of entry -->
6014
6015
6016 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6017 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6018 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006019 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006020
6021
6022
6023
6024 </td> <!-- entry_type -->
6025
6026 <td class="entry_description">
6027 If set to 1,<wbr> then the camera service always
6028 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6029 trigger.<wbr>
6030 </td>
6031
6032 <td class="entry_units">
6033 </td>
6034
6035 <td class="entry_range">
6036 </td>
6037
6038 <td class="entry_notes">
6039 HAL implementations should implement AF trigger
6040 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6041 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6042 not need to be listed in static metadata.<wbr> Support will be
6043 removed in future versions of camera service
6044 </td>
6045
6046 <td class="entry_tags">
6047 </td>
6048
6049 </tr> <!-- end of entry -->
6050
6051
6052 <tr class="entry" id="static_android.quirks.useZslFormat">
6053 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6054 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006055 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006056
6057
6058
6059
6060 </td> <!-- entry_type -->
6061
6062 <td class="entry_description">
6063 If set to 1,<wbr> the camera service uses
6064 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6065 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6066 shutter lag stream
6067 </td>
6068
6069 <td class="entry_units">
6070 </td>
6071
6072 <td class="entry_range">
6073 </td>
6074
6075 <td class="entry_notes">
6076 HAL implementations should use gralloc usage flags
6077 to determine that a stream will be used for
6078 zero-shutter-lag,<wbr> instead of relying on an explicit
6079 format setting.<wbr> Does not need to be listed in static
6080 metadata.<wbr> Support will be removed in future versions of
6081 camera service.<wbr>
6082 </td>
6083
6084 <td class="entry_tags">
6085 </td>
6086
6087 </tr> <!-- end of entry -->
6088
6089
6090
6091 <!-- end of kind -->
6092 </tbody>
6093
6094 <!-- end of section -->
6095 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6096
6097
6098 <tr><td colspan="7" class="kind">controls</td></tr>
6099
6100 <thead>
6101 <tr>
6102 <th class="th_name">Property Name</th>
6103 <th class="th_type">Type</th>
6104 <th class="th_description">Description</th>
6105 <th class="th_units">Units</th>
6106 <th class="th_range">Range</th>
6107 <th class="th_notes">Notes</th>
6108 <th class="th_tags">Tags</th>
6109 </tr>
6110 </thead>
6111
6112 <tbody>
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123 <tr class="entry" id="controls_android.request.frameCount">
6124 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6125 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006126 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006127
6128
6129
6130
6131 </td> <!-- entry_type -->
6132
6133 <td class="entry_description">
6134 A frame counter set by the framework.<wbr> Must
6135 be maintained unchanged in output frame
6136 </td>
6137
6138 <td class="entry_units">
6139 incrementing integer
6140 </td>
6141
6142 <td class="entry_range">
6143 Any int
6144 </td>
6145
6146 <td class="entry_notes">
6147 </td>
6148
6149 <td class="entry_tags">
6150 </td>
6151
6152 </tr> <!-- end of entry -->
6153
6154
6155 <tr class="entry" id="controls_android.request.id">
6156 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6157 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006158 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006159
6160
6161
6162
6163 </td> <!-- entry_type -->
6164
6165 <td class="entry_description">
6166 An application-specified ID for the current
6167 request.<wbr> Must be maintained unchanged in output
6168 frame
6169 </td>
6170
6171 <td class="entry_units">
6172 arbitrary integer assigned by application
6173 </td>
6174
6175 <td class="entry_range">
6176 Any int
6177 </td>
6178
6179 <td class="entry_notes">
6180 </td>
6181
6182 <td class="entry_tags">
6183 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006184 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006185 </ul>
6186 </td>
6187
6188 </tr> <!-- end of entry -->
6189
6190
6191 <tr class="entry" id="controls_android.request.inputStreams">
6192 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6193 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006194 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006195
6196
6197
6198
6199 </td> <!-- entry_type -->
6200
6201 <td class="entry_description">
6202 List which camera reprocess stream is used
6203 for the source of reprocessing data.<wbr>
6204 </td>
6205
6206 <td class="entry_units">
6207 List of camera reprocess stream IDs
6208 </td>
6209
6210 <td class="entry_range">
6211 Typically,<wbr> only one entry allowed,<wbr> must be a valid
6212 reprocess stream ID.<wbr> If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is
6213 set,<wbr> then multiple reprocess streams may be included in a
6214 single request; they must be different scaled versions of
6215 the same image.<wbr>
6216 </td>
6217
6218 <td class="entry_notes">
6219 Only meaningful when android.<wbr>request.<wbr>type ==
6220 REPROCESS.<wbr> Ignored otherwise
6221 </td>
6222
6223 <td class="entry_tags">
6224 </td>
6225
6226 </tr> <!-- end of entry -->
6227
6228
6229 <tr class="entry" id="controls_android.request.metadataMode">
6230 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006232 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006233
6234
6235
6236 <ul class="entry_type_enum">
6237 <li>
6238 <span class="entry_type_enum_name">NONE</span>
6239 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6240 for application-bound buffer data.<wbr> If no
6241 application-bound streams exist,<wbr> no frame should be
6242 placed in the output frame queue.<wbr> If such streams
6243 exist,<wbr> a frame should be placed on the output queue
6244 with null metadata but with the necessary output buffer
6245 information.<wbr> Timestamp information should still be
6246 included with any output stream buffers</span>
6247 </li>
6248 <li>
6249 <span class="entry_type_enum_name">FULL</span>
6250 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6251 only be produced if they are separately
6252 enabled</span>
6253 </li>
6254 </ul>
6255
6256 </td> <!-- entry_type -->
6257
6258 <td class="entry_description">
6259 How much metadata to produce on
6260 output
6261 </td>
6262
6263 <td class="entry_units">
6264 </td>
6265
6266 <td class="entry_range">
6267 </td>
6268
6269 <td class="entry_notes">
6270 </td>
6271
6272 <td class="entry_tags">
6273 </td>
6274
6275 </tr> <!-- end of entry -->
6276
6277
6278 <tr class="entry" id="controls_android.request.outputStreams">
6279 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6280 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006281 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006282
6283
6284
6285
6286 </td> <!-- entry_type -->
6287
6288 <td class="entry_description">
6289 Lists which camera output streams image data
6290 from this capture must be sent to
6291 </td>
6292
6293 <td class="entry_units">
6294 List of camera stream IDs
6295 </td>
6296
6297 <td class="entry_range">
6298 List must only include streams that have been
6299 created
6300 </td>
6301
6302 <td class="entry_notes">
6303 If no output streams are listed,<wbr> then the image
6304 data should simply be discarded.<wbr> The image data must
6305 still be captured for metadata and statistics production,<wbr>
6306 and the lens and flash must operate as requested.<wbr>
6307 </td>
6308
6309 <td class="entry_tags">
6310 </td>
6311
6312 </tr> <!-- end of entry -->
6313
6314
6315 <tr class="entry" id="controls_android.request.type">
6316 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6317 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006318 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006319
6320
6321
6322 <ul class="entry_type_enum">
6323 <li>
6324 <span class="entry_type_enum_name">CAPTURE</span>
6325 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6326 and process it according to the
6327 settings</span>
6328 </li>
6329 <li>
6330 <span class="entry_type_enum_name">REPROCESS</span>
6331 <span class="entry_type_enum_notes">Process previously captured data; the
6332 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6333 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6334 needed for reprocessing with [RP]</span>
6335 </li>
6336 </ul>
6337
6338 </td> <!-- entry_type -->
6339
6340 <td class="entry_description">
6341 The type of the request; either CAPTURE or
6342 REPROCESS
6343 </td>
6344
6345 <td class="entry_units">
6346 </td>
6347
6348 <td class="entry_range">
6349 </td>
6350
6351 <td class="entry_notes">
6352 </td>
6353
6354 <td class="entry_tags">
6355 </td>
6356
6357 </tr> <!-- end of entry -->
6358
6359
6360
6361 <!-- end of kind -->
6362 </tbody>
6363 <tr><td colspan="7" class="kind">static</td></tr>
6364
6365 <thead>
6366 <tr>
6367 <th class="th_name">Property Name</th>
6368 <th class="th_type">Type</th>
6369 <th class="th_description">Description</th>
6370 <th class="th_units">Units</th>
6371 <th class="th_range">Range</th>
6372 <th class="th_notes">Notes</th>
6373 <th class="th_tags">Tags</th>
6374 </tr>
6375 </thead>
6376
6377 <tbody>
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6389 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6390 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006391 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006392 <span class="entry_type_container">x</span>
6393
6394 <span class="entry_type_array">
6395 3
6396 </span>
6397
6398
6399
6400 </td> <!-- entry_type -->
6401
6402 <td class="entry_description">
6403 How many output streams can be allocated at
6404 the same time for each type of stream
6405 </td>
6406
6407 <td class="entry_units">
6408 The number of raw sensor streams; the number of
6409 processed,<wbr> uncompressed streams; and the number of
6410 JPEG-compressed streams
6411 </td>
6412
6413 <td class="entry_range">
6414 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6415 for processed,<wbr> uncompressed streams
6416 </td>
6417
6418 <td class="entry_notes">
6419 Video snapshot with preview callbacks requires 3
6420 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6421 one JPEG stream (snapshot)
6422 </td>
6423
6424 <td class="entry_tags">
6425 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006426 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006427 </ul>
6428 </td>
6429
6430 </tr> <!-- end of entry -->
6431
6432
6433 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6434 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6435 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006436 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006437 <span class="entry_type_container">x</span>
6438
6439 <span class="entry_type_array">
6440 1
6441 </span>
6442
6443
6444
6445 </td> <!-- entry_type -->
6446
6447 <td class="entry_description">
6448 How many reprocessing streams of any type
6449 can be allocated at the same time
6450 </td>
6451
6452 <td class="entry_units">
6453 </td>
6454
6455 <td class="entry_range">
6456 >= 1
6457 </td>
6458
6459 <td class="entry_notes">
6460 </td>
6461
6462 <td class="entry_tags">
6463 </td>
6464
6465 </tr> <!-- end of entry -->
6466
6467
6468
6469 <!-- end of kind -->
6470 </tbody>
6471 <tr><td colspan="7" class="kind">dynamic</td></tr>
6472
6473 <thead>
6474 <tr>
6475 <th class="th_name">Property Name</th>
6476 <th class="th_type">Type</th>
6477 <th class="th_description">Description</th>
6478 <th class="th_units">Units</th>
6479 <th class="th_range">Range</th>
6480 <th class="th_notes">Notes</th>
6481 <th class="th_tags">Tags</th>
6482 </tr>
6483 </thead>
6484
6485 <tbody>
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496 <tr class="entry" id="dynamic_android.request.frameCount">
6497 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6498 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006499 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006500
6501
6502
6503
6504 </td> <!-- entry_type -->
6505
6506 <td class="entry_description">
6507 Number of frames captured since
6508 open()
6509 </td>
6510
6511 <td class="entry_units">
6512 count of frames
6513 </td>
6514
6515 <td class="entry_range">
6516 > 0
6517 </td>
6518
6519 <td class="entry_notes">
6520 Reset on release()
6521 </td>
6522
6523 <td class="entry_tags">
6524 </td>
6525
6526 </tr> <!-- end of entry -->
6527
6528
6529 <tr class="entry" id="dynamic_android.request.id">
6530 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006532 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006533
6534
6535
6536
6537 </td> <!-- entry_type -->
6538
6539 <td class="entry_description">
6540 An application-specified ID for the current
6541 request.<wbr> Must be maintained unchanged in output
6542 frame
6543 </td>
6544
6545 <td class="entry_units">
6546 arbitrary integer assigned by application
6547 </td>
6548
6549 <td class="entry_range">
6550 Any int
6551 </td>
6552
6553 <td class="entry_notes">
6554 </td>
6555
6556 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006557 <ul class="entry_tags">
6558 <li><a href="#tag_V1">V1</a></li>
6559 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006560 </td>
6561
6562 </tr> <!-- end of entry -->
6563
6564
6565 <tr class="entry" id="dynamic_android.request.metadataMode">
6566 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6567 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006568 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006569
6570
6571
6572 <ul class="entry_type_enum">
6573 <li>
6574 <span class="entry_type_enum_name">NONE</span>
6575 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6576 for application-bound buffer data.<wbr> If no
6577 application-bound streams exist,<wbr> no frame should be
6578 placed in the output frame queue.<wbr> If such streams
6579 exist,<wbr> a frame should be placed on the output queue
6580 with null metadata but with the necessary output buffer
6581 information.<wbr> Timestamp information should still be
6582 included with any output stream buffers</span>
6583 </li>
6584 <li>
6585 <span class="entry_type_enum_name">FULL</span>
6586 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6587 only be produced if they are separately
6588 enabled</span>
6589 </li>
6590 </ul>
6591
6592 </td> <!-- entry_type -->
6593
6594 <td class="entry_description">
6595 How much metadata to produce on
6596 output
6597 </td>
6598
6599 <td class="entry_units">
6600 </td>
6601
6602 <td class="entry_range">
6603 </td>
6604
6605 <td class="entry_notes">
6606 </td>
6607
6608 <td class="entry_tags">
6609 </td>
6610
6611 </tr> <!-- end of entry -->
6612
6613
6614 <tr class="entry" id="dynamic_android.request.outputStreams">
6615 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6616 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006617 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006618
6619
6620
6621
6622 </td> <!-- entry_type -->
6623
6624 <td class="entry_description">
6625 Lists which camera output streams image data
6626 from this capture must be sent to
6627 </td>
6628
6629 <td class="entry_units">
6630 List of camera stream IDs
6631 </td>
6632
6633 <td class="entry_range">
6634 List must only include streams that have been
6635 created
6636 </td>
6637
6638 <td class="entry_notes">
6639 If no output streams are listed,<wbr> then the image
6640 data should simply be discarded.<wbr> The image data must
6641 still be captured for metadata and statistics production,<wbr>
6642 and the lens and flash must operate as requested.<wbr>
6643 </td>
6644
6645 <td class="entry_tags">
6646 </td>
6647
6648 </tr> <!-- end of entry -->
6649
6650
6651
6652 <!-- end of kind -->
6653 </tbody>
6654
6655 <!-- end of section -->
6656 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
6657
6658
6659 <tr><td colspan="7" class="kind">controls</td></tr>
6660
6661 <thead>
6662 <tr>
6663 <th class="th_name">Property Name</th>
6664 <th class="th_type">Type</th>
6665 <th class="th_description">Description</th>
6666 <th class="th_units">Units</th>
6667 <th class="th_range">Range</th>
6668 <th class="th_notes">Notes</th>
6669 <th class="th_tags">Tags</th>
6670 </tr>
6671 </thead>
6672
6673 <tbody>
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684 <tr class="entry" id="controls_android.scaler.cropRegion">
6685 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
6686 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006687 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006688 <span class="entry_type_container">x</span>
6689
6690 <span class="entry_type_array">
6691 3
6692 </span>
6693
6694
6695
6696 </td> <!-- entry_type -->
6697
6698 <td class="entry_description">
6699 Top-left corner and width of the output
6700 region to select from the active pixel
6701 array
6702 </td>
6703
6704 <td class="entry_units">
6705 (x,<wbr>y) of top-left corner,<wbr> width of region in
6706 pixels; (0,<wbr>0) is top-left corner of
6707 android.<wbr>sensor.<wbr>active<wbr>Pixel<wbr>Array
6708 </td>
6709
6710 <td class="entry_range">
6711 </td>
6712
6713 <td class="entry_notes">
6714 [BC - zoom] Height determined based on width and
6715 aspect ratio of output stream.<wbr> Negative values for corner
6716 are allowed for raw output if full pixel array is larger
6717 than active pixel array.<wbr> Width may be rounded to nearest
6718 larger supportable width,<wbr> especially for raw output,<wbr>
6719 where only a few fixed scales may be possible
6720 </td>
6721
6722 <td class="entry_tags">
6723 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006724 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006725 </ul>
6726 </td>
6727
6728 </tr> <!-- end of entry -->
6729
6730
6731
6732 <!-- end of kind -->
6733 </tbody>
6734 <tr><td colspan="7" class="kind">static</td></tr>
6735
6736 <thead>
6737 <tr>
6738 <th class="th_name">Property Name</th>
6739 <th class="th_type">Type</th>
6740 <th class="th_description">Description</th>
6741 <th class="th_units">Units</th>
6742 <th class="th_range">Range</th>
6743 <th class="th_notes">Notes</th>
6744 <th class="th_tags">Tags</th>
6745 </tr>
6746 </thead>
6747
6748 <tbody>
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759 <tr class="entry" id="static_android.scaler.availableFormats">
6760 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
6761 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006762 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006763 <span class="entry_type_container">x</span>
6764
6765 <span class="entry_type_array">
6766 n
6767 </span>
6768
6769 <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>
6770
6771 <ul class="entry_type_enum">
6772 <li>
6773 <span class="entry_type_enum_name">RAW_SENSOR</span>
6774 <span class="entry_type_enum_value">0x20</span>
6775 </li>
6776 <li>
6777 <span class="entry_type_enum_name">YV12</span>
6778 <span class="entry_type_enum_value">0x32315659</span>
6779 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
6780 </li>
6781 <li>
6782 <span class="entry_type_enum_name">YCbCr_420_SP</span>
6783 <span class="entry_type_enum_value">0x11</span>
6784 <span class="entry_type_enum_notes">NV21</span>
6785 </li>
6786 <li>
6787 <span class="entry_type_enum_name">JPEG</span>
6788 <span class="entry_type_enum_value">0x21</span>
6789 <span class="entry_type_enum_notes">BLOB</span>
6790 </li>
6791 </ul>
6792
6793 </td> <!-- entry_type -->
6794
6795 <td class="entry_description">
6796 List of app-visible formats
6797 </td>
6798
6799 <td class="entry_units">
6800 </td>
6801
6802 <td class="entry_range">
6803 </td>
6804
6805 <td class="entry_notes">
6806 </td>
6807
6808 <td class="entry_tags">
6809 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006810 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006811 </ul>
6812 </td>
6813
6814 </tr> <!-- end of entry -->
6815
6816
6817 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
6818 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
6819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006820 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006821 <span class="entry_type_container">x</span>
6822
6823 <span class="entry_type_array">
6824 n
6825 </span>
6826
6827
6828
6829 </td> <!-- entry_type -->
6830
6831 <td class="entry_description">
6832 The minimum frame duration that is supported
6833 for each resolution in availableJpegSizes.<wbr> Should
6834 correspond to the frame duration when only that JPEG
6835 stream is active,<wbr> with all processing set to
6836 FAST
6837 </td>
6838
6839 <td class="entry_units">
6840 </td>
6841
6842 <td class="entry_range">
6843 </td>
6844
6845 <td class="entry_notes">
6846 When multiple streams are configured,<wbr> the minimum
6847 frame duration will be >= max(individual stream min
6848 durations)
6849 </td>
6850
6851 <td class="entry_tags">
6852 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006853 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006854 </ul>
6855 </td>
6856
6857 </tr> <!-- end of entry -->
6858
6859
6860 <tr class="entry" id="static_android.scaler.availableJpegSizes">
6861 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
6862 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006863 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006864 <span class="entry_type_container">x</span>
6865
6866 <span class="entry_type_array">
6867 n x 2
6868 </span>
6869
6870
6871
6872 </td> <!-- entry_type -->
6873
6874 <td class="entry_description">
6875 The resolutions available for output from
6876 the JPEG block.<wbr> Listed as width x height
6877 </td>
6878
6879 <td class="entry_units">
6880 </td>
6881
6882 <td class="entry_range">
6883 Must include: - sensor maximum resolution Should
6884 include: - half/<wbr>quarter max resolution
6885 </td>
6886
6887 <td class="entry_notes">
6888 </td>
6889
6890 <td class="entry_tags">
6891 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006892 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006893 </ul>
6894 </td>
6895
6896 </tr> <!-- end of entry -->
6897
6898
6899 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
6900 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
6901 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07006902 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006903
6904
6905
6906
6907 </td> <!-- entry_type -->
6908
6909 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07006910 The maximum ratio between active area width
6911 and crop region width,<wbr> or between active area height and
6912 crop region height,<wbr> if the crop region height is larger
6913 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006914 </td>
6915
6916 <td class="entry_units">
6917 </td>
6918
6919 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07006920 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006921 </td>
6922
6923 <td class="entry_notes">
6924 </td>
6925
6926 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07006927 <ul class="entry_tags">
6928 <li><a href="#tag_BC">BC</a></li>
6929 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006930 </td>
6931
6932 </tr> <!-- end of entry -->
6933
6934
6935 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
6936 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
6937 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006938 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006939 <span class="entry_type_container">x</span>
6940
6941 <span class="entry_type_array">
6942 n
6943 </span>
6944
6945
6946
6947 </td> <!-- entry_type -->
6948
6949 <td class="entry_description">
6950 The minimum frame duration that is supported
6951 for each resolution in availableProcessedSizes.<wbr> Should
6952 correspond to the frame duration when only that processed
6953 stream is active,<wbr> with all processing set to
6954 FAST
6955 </td>
6956
6957 <td class="entry_units">
6958 </td>
6959
6960 <td class="entry_range">
6961 </td>
6962
6963 <td class="entry_notes">
6964 When multiple streams are configured,<wbr> the minimum
6965 frame duration will be >= max(individual stream min
6966 durations)
6967 </td>
6968
6969 <td class="entry_tags">
6970 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006971 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006972 </ul>
6973 </td>
6974
6975 </tr> <!-- end of entry -->
6976
6977
6978 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
6979 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
6980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006981 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006982 <span class="entry_type_container">x</span>
6983
6984 <span class="entry_type_array">
6985 n x 2
6986 </span>
6987
6988
6989
6990 </td> <!-- entry_type -->
6991
6992 <td class="entry_description">
6993 The resolutions available for use with
6994 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
6995 platform opaque YUV/<wbr>RGB streams to the GPU or video
6996 encoders.<wbr> Listed as width,<wbr> height
6997 </td>
6998
6999 <td class="entry_units">
7000 </td>
7001
7002 <td class="entry_range">
7003 Must include: - sensor maximum resolution -
7004 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7005 resolutions
7006 </td>
7007
7008 <td class="entry_notes">
7009 </td>
7010
7011 <td class="entry_tags">
7012 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007013 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007014 </ul>
7015 </td>
7016
7017 </tr> <!-- end of entry -->
7018
7019
7020 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7021 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7022 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007023 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007024 <span class="entry_type_container">x</span>
7025
7026 <span class="entry_type_array">
7027 n
7028 </span>
7029
7030
7031
7032 </td> <!-- entry_type -->
7033
7034 <td class="entry_description">
7035 The minimum frame duration that is supported
7036 for each raw resolution in availableRawSizes.<wbr> Should
7037 correspond to the frame duration when only the raw stream
7038 is active.<wbr>
7039 </td>
7040
7041 <td class="entry_units">
7042 </td>
7043
7044 <td class="entry_range">
7045 </td>
7046
7047 <td class="entry_notes">
7048 When multiple streams are configured,<wbr> the minimum
7049 frame duration will be >= max(individual stream min
7050 durations)
7051 </td>
7052
7053 <td class="entry_tags">
7054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007055 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007056 </ul>
7057 </td>
7058
7059 </tr> <!-- end of entry -->
7060
7061
7062 <tr class="entry" id="static_android.scaler.availableRawSizes">
7063 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007065 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007066 <span class="entry_type_container">x</span>
7067
7068 <span class="entry_type_array">
7069 n x 2
7070 </span>
7071
7072
7073
7074 </td> <!-- entry_type -->
7075
7076 <td class="entry_description">
7077 The resolutions available for use with raw
7078 sensor output streams,<wbr> listed as width,<wbr>
7079 height
7080 </td>
7081
7082 <td class="entry_units">
7083 </td>
7084
7085 <td class="entry_range">
7086 Must include: - sensor maximum resolution
7087 </td>
7088
7089 <td class="entry_notes">
7090 </td>
7091
7092 <td class="entry_tags">
7093 </td>
7094
7095 </tr> <!-- end of entry -->
7096
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007097
7098
7099 <!-- end of kind -->
7100 </tbody>
7101 <tr><td colspan="7" class="kind">dynamic</td></tr>
7102
7103 <thead>
7104 <tr>
7105 <th class="th_name">Property Name</th>
7106 <th class="th_type">Type</th>
7107 <th class="th_description">Description</th>
7108 <th class="th_units">Units</th>
7109 <th class="th_range">Range</th>
7110 <th class="th_notes">Notes</th>
7111 <th class="th_tags">Tags</th>
7112 </tr>
7113 </thead>
7114
7115 <tbody>
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7127 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7128 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007129 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007130 <span class="entry_type_container">x</span>
7131
7132 <span class="entry_type_array">
7133 3
7134 </span>
7135
7136
7137
7138 </td> <!-- entry_type -->
7139
7140 <td class="entry_description">
7141 Top-left corner and width of the output
7142 region to select from the active pixel
7143 array
7144 </td>
7145
7146 <td class="entry_units">
7147 (x,<wbr>y) of top-left corner,<wbr> width of region in
7148 pixels; (0,<wbr>0) is top-left corner of
7149 android.<wbr>sensor.<wbr>active<wbr>Pixel<wbr>Array
7150 </td>
7151
7152 <td class="entry_range">
7153 </td>
7154
7155 <td class="entry_notes">
7156 [BC - zoom] Height determined based on width and
7157 aspect ratio of output stream.<wbr> Negative values for corner
7158 are allowed for raw output if full pixel array is larger
7159 than active pixel array.<wbr> Width may be rounded to nearest
7160 larger supportable width,<wbr> especially for raw output,<wbr>
7161 where only a few fixed scales may be possible
7162 </td>
7163
7164 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007165 <ul class="entry_tags">
7166 <li><a href="#tag_BC">BC</a></li>
7167 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007168 </td>
7169
7170 </tr> <!-- end of entry -->
7171
7172
7173
7174 <!-- end of kind -->
7175 </tbody>
7176
7177 <!-- end of section -->
7178 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7179
7180
7181 <tr><td colspan="7" class="kind">controls</td></tr>
7182
7183 <thead>
7184 <tr>
7185 <th class="th_name">Property Name</th>
7186 <th class="th_type">Type</th>
7187 <th class="th_description">Description</th>
7188 <th class="th_units">Units</th>
7189 <th class="th_range">Range</th>
7190 <th class="th_notes">Notes</th>
7191 <th class="th_tags">Tags</th>
7192 </tr>
7193 </thead>
7194
7195 <tbody>
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206 <tr class="entry" id="controls_android.sensor.exposureTime">
7207 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7208 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007209 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007210
7211
7212
7213
7214 </td> <!-- entry_type -->
7215
7216 <td class="entry_description">
7217 Duration each pixel is exposed to
7218 light
7219 </td>
7220
7221 <td class="entry_units">
7222 nanoseconds
7223 </td>
7224
7225 <td class="entry_range">
7226 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7227 </td>
7228
7229 <td class="entry_notes">
7230 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7231 </td>
7232
7233 <td class="entry_tags">
7234 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007235 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007236 </ul>
7237 </td>
7238
7239 </tr> <!-- end of entry -->
7240
7241
7242 <tr class="entry" id="controls_android.sensor.frameDuration">
7243 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7244 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007245 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007246
7247
7248
7249
7250 </td> <!-- entry_type -->
7251
7252 <td class="entry_description">
7253 Duration from start of frame exposure to
7254 start of next frame exposure
7255 </td>
7256
7257 <td class="entry_units">
7258 nanoseconds
7259 </td>
7260
7261 <td class="entry_range">
7262 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7263 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7264 </td>
7265
7266 <td class="entry_notes">
7267 Exposure time has priority,<wbr> so duration is set to
7268 max(duration,<wbr> exposure time + overhead)
7269 </td>
7270
7271 <td class="entry_tags">
7272 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007273 <li><a href="#tag_V1">V1</a></li>
7274 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007275 </ul>
7276 </td>
7277
7278 </tr> <!-- end of entry -->
7279
7280
7281 <tr class="entry" id="controls_android.sensor.sensitivity">
7282 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7283 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007284 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007285
7286
7287
7288
7289 </td> <!-- entry_type -->
7290
7291 <td class="entry_description">
7292 Gain applied to image data.<wbr> Must be
7293 implemented through analog gain only if set to values
7294 below 'maximum analog sensitivity'.<wbr>
7295 </td>
7296
7297 <td class="entry_units">
7298 ISO arithmetic units
7299 </td>
7300
7301 <td class="entry_range">
7302 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7303 </td>
7304
7305 <td class="entry_notes">
7306 ISO 12232:2006 REI method
7307 </td>
7308
7309 <td class="entry_tags">
7310 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007311 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007312 </ul>
7313 </td>
7314
7315 </tr> <!-- end of entry -->
7316
7317
7318
7319 <!-- end of kind -->
7320 </tbody>
7321 <tr><td colspan="7" class="kind">static</td></tr>
7322
7323 <thead>
7324 <tr>
7325 <th class="th_name">Property Name</th>
7326 <th class="th_type">Type</th>
7327 <th class="th_description">Description</th>
7328 <th class="th_units">Units</th>
7329 <th class="th_range">Range</th>
7330 <th class="th_notes">Notes</th>
7331 <th class="th_tags">Tags</th>
7332 </tr>
7333 </thead>
7334
7335 <tbody>
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7349 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7350 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007351 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007352 <span class="entry_type_container">x</span>
7353
7354 <span class="entry_type_array">
7355 4
7356 </span>
7357
7358 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7359
7360
7361 </td> <!-- entry_type -->
7362
7363 <td class="entry_description">
7364 Area of raw data which corresponds to only
7365 active pixels; smaller or equal to
7366 pixelArraySize.<wbr>
7367 </td>
7368
7369 <td class="entry_units">
7370 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7371 pixel array is (0,<wbr>0)
7372 </td>
7373
7374 <td class="entry_range">
7375 </td>
7376
7377 <td class="entry_notes">
7378 </td>
7379
7380 <td class="entry_tags">
7381 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007382 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007383 </ul>
7384 </td>
7385
7386 </tr> <!-- end of entry -->
7387
7388
7389 <tr class="entry" id="static_android.sensor.info.availableSensitivities">
7390 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>available<wbr>Sensitivities</td>
7391 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007392 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007393 <span class="entry_type_container">x</span>
7394
7395 <span class="entry_type_array">
7396 n
7397 </span>
7398
7399 <div class="entry_type_notes">List of supported sensitivity values</div>
7400
7401
7402 </td> <!-- entry_type -->
7403
7404 <td class="entry_description">
7405 Range of valid sensitivities
7406 </td>
7407
7408 <td class="entry_units">
7409 </td>
7410
7411 <td class="entry_range">
7412 Must at least include 100,<wbr> 200,<wbr> 400,<wbr> 800,<wbr>
7413 1600
7414 </td>
7415
7416 <td class="entry_notes">
7417 </td>
7418
7419 <td class="entry_tags">
7420 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007421 <li><a href="#tag_BC">BC</a></li>
7422 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007423 </ul>
7424 </td>
7425
7426 </tr> <!-- end of entry -->
7427
7428
7429 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7430 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7431 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007432 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007433
7434
7435
7436 <ul class="entry_type_enum">
7437 <li>
7438 <span class="entry_type_enum_name">RGGB</span>
7439 </li>
7440 <li>
7441 <span class="entry_type_enum_name">GRBG</span>
7442 </li>
7443 <li>
7444 <span class="entry_type_enum_name">GBRG</span>
7445 </li>
7446 <li>
7447 <span class="entry_type_enum_name">BGGR</span>
7448 </li>
7449 <li>
7450 <span class="entry_type_enum_name">RGB</span>
7451 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7452 values for each pixel,<wbr> instead of just 1 16-bit value
7453 per pixel.<wbr></span>
7454 </li>
7455 </ul>
7456
7457 </td> <!-- entry_type -->
7458
7459 <td class="entry_description">
7460 Arrangement of color filters on sensor;
7461 represents the colors in the top-left 2x2 section of
7462 the sensor,<wbr> in reading order
7463 </td>
7464
7465 <td class="entry_units">
7466 </td>
7467
7468 <td class="entry_range">
7469 </td>
7470
7471 <td class="entry_notes">
7472 </td>
7473
7474 <td class="entry_tags">
7475 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007476 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007477 </ul>
7478 </td>
7479
7480 </tr> <!-- end of entry -->
7481
7482
7483 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7484 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7485 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007486 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007487 <span class="entry_type_container">x</span>
7488
7489 <span class="entry_type_array">
7490 2
7491 </span>
7492
7493 <div class="entry_type_notes">nanoseconds</div>
7494
7495
7496 </td> <!-- entry_type -->
7497
7498 <td class="entry_description">
7499 Range of valid exposure
7500 times
7501 </td>
7502
7503 <td class="entry_units">
7504 </td>
7505
7506 <td class="entry_range">
7507 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
7508 sec)
7509 </td>
7510
7511 <td class="entry_notes">
7512 </td>
7513
7514 <td class="entry_tags">
7515 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007516 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007517 </ul>
7518 </td>
7519
7520 </tr> <!-- end of entry -->
7521
7522
7523 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
7524 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
7525 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007526 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007527
7528
7529
7530
7531 </td> <!-- entry_type -->
7532
7533 <td class="entry_description">
7534 Maximum frame duration (minimum frame
7535 rate)
7536 </td>
7537
7538 <td class="entry_units">
7539 nanoseconds
7540 </td>
7541
7542 <td class="entry_range">
7543 >= 30e9
7544 </td>
7545
7546 <td class="entry_notes">
7547 Minimum duration is a function of resolution,<wbr>
7548 processing settings.<wbr> See
7549 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7550 </td>
7551
7552 <td class="entry_tags">
7553 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007554 <li><a href="#tag_BC">BC</a></li>
7555 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007556 </ul>
7557 </td>
7558
7559 </tr> <!-- end of entry -->
7560
7561
7562 <tr class="entry" id="static_android.sensor.info.physicalSize">
7563 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
7564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007565 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 <span class="entry_type_container">x</span>
7567
7568 <span class="entry_type_array">
7569 2
7570 </span>
7571
7572 <div class="entry_type_notes">width x height in millimeters</div>
7573
7574
7575 </td> <!-- entry_type -->
7576
7577 <td class="entry_description">
7578 The physical dimensions of the full pixel
7579 array
7580 </td>
7581
7582 <td class="entry_units">
7583 </td>
7584
7585 <td class="entry_range">
7586 </td>
7587
7588 <td class="entry_notes">
7589 Needed for FOV calculation for old API
7590 </td>
7591
7592 <td class="entry_tags">
7593 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007594 <li><a href="#tag_V1">V1</a></li>
7595 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007596 </ul>
7597 </td>
7598
7599 </tr> <!-- end of entry -->
7600
7601
7602 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
7603 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
7604 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007605 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007606 <span class="entry_type_container">x</span>
7607
7608 <span class="entry_type_array">
7609 2
7610 </span>
7611
7612
7613
7614 </td> <!-- entry_type -->
7615
7616 <td class="entry_description">
7617 Dimensions of full pixel array,<wbr> possibly
7618 including black calibration pixels
7619 </td>
7620
7621 <td class="entry_units">
7622 </td>
7623
7624 <td class="entry_range">
7625 </td>
7626
7627 <td class="entry_notes">
7628 Maximum output resolution for raw format must
7629 match this in
7630 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
7631 </td>
7632
7633 <td class="entry_tags">
7634 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007635 <li><a href="#tag_DNG">DNG</a></li>
7636 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007637 </ul>
7638 </td>
7639
7640 </tr> <!-- end of entry -->
7641
7642
7643 <tr class="entry" id="static_android.sensor.info.whiteLevel">
7644 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
7645 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007646 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007647
7648
7649
7650
7651 </td> <!-- entry_type -->
7652
7653 <td class="entry_description">
7654 Maximum raw value output by
7655 sensor
7656 </td>
7657
7658 <td class="entry_units">
7659 </td>
7660
7661 <td class="entry_range">
7662 > 1024 (10-bit output)
7663 </td>
7664
7665 <td class="entry_notes">
7666 Defines sensor bit depth (10-14 bits is
7667 expected)
7668 </td>
7669
7670 <td class="entry_tags">
7671 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007672 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007673 </ul>
7674 </td>
7675
7676 </tr> <!-- end of entry -->
7677
7678
7679
7680
7681
7682 <tr class="entry" id="static_android.sensor.baseGainFactor">
7683 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
7684 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007685 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007686
7687
7688
7689
7690 </td> <!-- entry_type -->
7691
7692 <td class="entry_description">
7693 Gain factor from electrons to raw units when
7694 ISO=100
7695 </td>
7696
7697 <td class="entry_units">
7698 </td>
7699
7700 <td class="entry_range">
7701 </td>
7702
7703 <td class="entry_notes">
7704 </td>
7705
7706 <td class="entry_tags">
7707 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007708 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007709 </ul>
7710 </td>
7711
7712 </tr> <!-- end of entry -->
7713
7714
7715 <tr class="entry" id="static_android.sensor.blackLevelPattern">
7716 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
7717 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007718 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007719 <span class="entry_type_container">x</span>
7720
7721 <span class="entry_type_array">
7722 4
7723 </span>
7724
7725 <div class="entry_type_notes">2x2 raw count block</div>
7726
7727
7728 </td> <!-- entry_type -->
7729
7730 <td class="entry_description">
7731 A fixed black level offset for each of the
7732 Bayer mosaic channels
7733 </td>
7734
7735 <td class="entry_units">
7736 </td>
7737
7738 <td class="entry_range">
7739 >= 0 each
7740 </td>
7741
7742 <td class="entry_notes">
7743 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
7744 tags
7745 </td>
7746
7747 <td class="entry_tags">
7748 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007749 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007750 </ul>
7751 </td>
7752
7753 </tr> <!-- end of entry -->
7754
7755
7756 <tr class="entry" id="static_android.sensor.calibrationTransform1">
7757 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
7758 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007759 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007760 <span class="entry_type_container">x</span>
7761
7762 <span class="entry_type_array">
7763 9
7764 </span>
7765
7766 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7767
7768
7769 </td> <!-- entry_type -->
7770
7771 <td class="entry_description">
7772 Per-device calibration on top of color space
7773 transform 1
7774 </td>
7775
7776 <td class="entry_units">
7777 </td>
7778
7779 <td class="entry_range">
7780 </td>
7781
7782 <td class="entry_notes">
7783 </td>
7784
7785 <td class="entry_tags">
7786 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007787 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007788 </ul>
7789 </td>
7790
7791 </tr> <!-- end of entry -->
7792
7793
7794 <tr class="entry" id="static_android.sensor.calibrationTransform2">
7795 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
7796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007797 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007798 <span class="entry_type_container">x</span>
7799
7800 <span class="entry_type_array">
7801 9
7802 </span>
7803
7804 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7805
7806
7807 </td> <!-- entry_type -->
7808
7809 <td class="entry_description">
7810 Per-device calibration on top of color space
7811 transform 2
7812 </td>
7813
7814 <td class="entry_units">
7815 </td>
7816
7817 <td class="entry_range">
7818 </td>
7819
7820 <td class="entry_notes">
7821 </td>
7822
7823 <td class="entry_tags">
7824 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007825 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007826 </ul>
7827 </td>
7828
7829 </tr> <!-- end of entry -->
7830
7831
7832 <tr class="entry" id="static_android.sensor.colorTransform1">
7833 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
7834 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007835 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007836 <span class="entry_type_container">x</span>
7837
7838 <span class="entry_type_array">
7839 9
7840 </span>
7841
7842 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7843
7844
7845 </td> <!-- entry_type -->
7846
7847 <td class="entry_description">
7848 Linear mapping from XYZ (D50) color space to
7849 reference linear sensor color,<wbr> for first reference
7850 illuminant
7851 </td>
7852
7853 <td class="entry_units">
7854 </td>
7855
7856 <td class="entry_range">
7857 </td>
7858
7859 <td class="entry_notes">
7860 Use as follows XYZ = inv(transform) * clip( (raw -
7861 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
7862 At least in the simple case
7863 </td>
7864
7865 <td class="entry_tags">
7866 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007867 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007868 </ul>
7869 </td>
7870
7871 </tr> <!-- end of entry -->
7872
7873
7874 <tr class="entry" id="static_android.sensor.colorTransform2">
7875 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
7876 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007877 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007878 <span class="entry_type_container">x</span>
7879
7880 <span class="entry_type_array">
7881 9
7882 </span>
7883
7884 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7885
7886
7887 </td> <!-- entry_type -->
7888
7889 <td class="entry_description">
7890 Linear mapping from XYZ (D50) color space to
7891 reference linear sensor color,<wbr> for second reference
7892 illuminant
7893 </td>
7894
7895 <td class="entry_units">
7896 </td>
7897
7898 <td class="entry_range">
7899 </td>
7900
7901 <td class="entry_notes">
7902 </td>
7903
7904 <td class="entry_tags">
7905 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007906 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007907 </ul>
7908 </td>
7909
7910 </tr> <!-- end of entry -->
7911
7912
7913 <tr class="entry" id="static_android.sensor.forwardMatrix1">
7914 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
7915 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007916 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007917 <span class="entry_type_container">x</span>
7918
7919 <span class="entry_type_array">
7920 9
7921 </span>
7922
7923 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7924
7925
7926 </td> <!-- entry_type -->
7927
7928 <td class="entry_description">
7929 Used by DNG for better WB
7930 adaptation
7931 </td>
7932
7933 <td class="entry_units">
7934 </td>
7935
7936 <td class="entry_range">
7937 </td>
7938
7939 <td class="entry_notes">
7940 </td>
7941
7942 <td class="entry_tags">
7943 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007944 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007945 </ul>
7946 </td>
7947
7948 </tr> <!-- end of entry -->
7949
7950
7951 <tr class="entry" id="static_android.sensor.forwardMatrix2">
7952 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
7953 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007954 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007955 <span class="entry_type_container">x</span>
7956
7957 <span class="entry_type_array">
7958 9
7959 </span>
7960
7961 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7962
7963
7964 </td> <!-- entry_type -->
7965
7966 <td class="entry_description">
7967 Used by DNG for better WB
7968 adaptation
7969 </td>
7970
7971 <td class="entry_units">
7972 </td>
7973
7974 <td class="entry_range">
7975 </td>
7976
7977 <td class="entry_notes">
7978 </td>
7979
7980 <td class="entry_tags">
7981 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007982 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007983 </ul>
7984 </td>
7985
7986 </tr> <!-- end of entry -->
7987
7988
7989 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
7990 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
7991 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007992 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007993
7994
7995
7996
7997 </td> <!-- entry_type -->
7998
7999 <td class="entry_description">
8000 Maximum sensitivity that is implemented
8001 purely through analog gain
8002 </td>
8003
8004 <td class="entry_units">
8005 </td>
8006
8007 <td class="entry_range">
8008 </td>
8009
8010 <td class="entry_notes">
8011 For android.<wbr>sensor.<wbr>sensitivity values less than or
8012 equal to this,<wbr> all applied gain must be analog.<wbr> For
8013 values above this,<wbr> it can be a mix of analog and
8014 digital
8015 </td>
8016
8017 <td class="entry_tags">
8018 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008019 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008020 </ul>
8021 </td>
8022
8023 </tr> <!-- end of entry -->
8024
8025
8026 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8027 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008029 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008030 <span class="entry_type_container">x</span>
8031
8032 <span class="entry_type_array">
8033 2
8034 </span>
8035
8036 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8037
8038
8039 </td> <!-- entry_type -->
8040
8041 <td class="entry_description">
8042 Estimation of sensor noise
8043 characteristics
8044 </td>
8045
8046 <td class="entry_units">
8047 var(raw pixel value) = electrons * (baseGainFactor
8048 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8049 B
8050 </td>
8051
8052 <td class="entry_range">
8053 </td>
8054
8055 <td class="entry_notes">
8056 A represents sensor read noise before analog
8057 amplification; B represents noise from A/<wbr>D conversion and
8058 other circuits after amplification.<wbr> Both noise sources
8059 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8060 across the sensor
8061 </td>
8062
8063 <td class="entry_tags">
8064 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008065 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008066 </ul>
8067 </td>
8068
8069 </tr> <!-- end of entry -->
8070
8071
8072 <tr class="entry" id="static_android.sensor.orientation">
8073 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8074 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008075 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008076
8077
8078
8079
8080 </td> <!-- entry_type -->
8081
8082 <td class="entry_description">
8083 Clockwise angle through which the output
8084 image needs to be rotated to be upright on the device
8085 screen in its native orientation.<wbr> Also defines the
8086 direction of rolling shutter readout,<wbr> which is from top
8087 to bottom in the sensor's coordinate system
8088 </td>
8089
8090 <td class="entry_units">
8091 degrees clockwise rotation,<wbr> only multiples of
8092 90
8093 </td>
8094
8095 <td class="entry_range">
8096 0,<wbr>90,<wbr>180,<wbr>270
8097 </td>
8098
8099 <td class="entry_notes">
8100 </td>
8101
8102 <td class="entry_tags">
8103 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008104 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008105 </ul>
8106 </td>
8107
8108 </tr> <!-- end of entry -->
8109
8110
8111 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8112 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8113 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008114 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008115
8116
8117
8118 <ul class="entry_type_enum">
8119 <li>
8120 <span class="entry_type_enum_name">DAYLIGHT</span>
8121 <span class="entry_type_enum_value">1</span>
8122 </li>
8123 <li>
8124 <span class="entry_type_enum_name">FLUORESCENT</span>
8125 <span class="entry_type_enum_value">2</span>
8126 </li>
8127 <li>
8128 <span class="entry_type_enum_name">TUNGSTEN</span>
8129 <span class="entry_type_enum_value">3</span>
8130 <span class="entry_type_enum_notes">Incandescent light</span>
8131 </li>
8132 <li>
8133 <span class="entry_type_enum_name">FLASH</span>
8134 <span class="entry_type_enum_value">4</span>
8135 </li>
8136 <li>
8137 <span class="entry_type_enum_name">FINE_WEATHER</span>
8138 <span class="entry_type_enum_value">9</span>
8139 </li>
8140 <li>
8141 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8142 <span class="entry_type_enum_value">10</span>
8143 </li>
8144 <li>
8145 <span class="entry_type_enum_name">SHADE</span>
8146 <span class="entry_type_enum_value">11</span>
8147 </li>
8148 <li>
8149 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8150 <span class="entry_type_enum_value">12</span>
8151 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8152 </li>
8153 <li>
8154 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8155 <span class="entry_type_enum_value">13</span>
8156 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8157 </li>
8158 <li>
8159 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8160 <span class="entry_type_enum_value">14</span>
8161 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8162 </li>
8163 <li>
8164 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8165 <span class="entry_type_enum_value">15</span>
8166 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8167 </li>
8168 <li>
8169 <span class="entry_type_enum_name">STANDARD_A</span>
8170 <span class="entry_type_enum_value">17</span>
8171 </li>
8172 <li>
8173 <span class="entry_type_enum_name">STANDARD_B</span>
8174 <span class="entry_type_enum_value">18</span>
8175 </li>
8176 <li>
8177 <span class="entry_type_enum_name">STANDARD_C</span>
8178 <span class="entry_type_enum_value">19</span>
8179 </li>
8180 <li>
8181 <span class="entry_type_enum_name">D55</span>
8182 <span class="entry_type_enum_value">20</span>
8183 </li>
8184 <li>
8185 <span class="entry_type_enum_name">D65</span>
8186 <span class="entry_type_enum_value">21</span>
8187 </li>
8188 <li>
8189 <span class="entry_type_enum_name">D75</span>
8190 <span class="entry_type_enum_value">22</span>
8191 </li>
8192 <li>
8193 <span class="entry_type_enum_name">D50</span>
8194 <span class="entry_type_enum_value">23</span>
8195 </li>
8196 <li>
8197 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8198 <span class="entry_type_enum_value">24</span>
8199 </li>
8200 </ul>
8201
8202 </td> <!-- entry_type -->
8203
8204 <td class="entry_description">
8205 Light source used to define transform
8206 1
8207 </td>
8208
8209 <td class="entry_units">
8210 </td>
8211
8212 <td class="entry_range">
8213 </td>
8214
8215 <td class="entry_notes">
8216 [EXIF LightSource tag] Must all these be
8217 supported? Need CCT for each!
8218 </td>
8219
8220 <td class="entry_tags">
8221 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008222 <li><a href="#tag_DNG">DNG</a></li>
8223 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008224 </ul>
8225 </td>
8226
8227 </tr> <!-- end of entry -->
8228
8229
8230 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8231 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8232 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008233 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008234
8235
8236
8237
8238 </td> <!-- entry_type -->
8239
8240 <td class="entry_description">
8241 Light source used to define transform
8242 2
8243 </td>
8244
8245 <td class="entry_units">
8246 Same as illuminant 1
8247 </td>
8248
8249 <td class="entry_range">
8250 </td>
8251
8252 <td class="entry_notes">
8253 </td>
8254
8255 <td class="entry_tags">
8256 </td>
8257
8258 </tr> <!-- end of entry -->
8259
8260
8261
8262 <!-- end of kind -->
8263 </tbody>
8264 <tr><td colspan="7" class="kind">dynamic</td></tr>
8265
8266 <thead>
8267 <tr>
8268 <th class="th_name">Property Name</th>
8269 <th class="th_type">Type</th>
8270 <th class="th_description">Description</th>
8271 <th class="th_units">Units</th>
8272 <th class="th_range">Range</th>
8273 <th class="th_notes">Notes</th>
8274 <th class="th_tags">Tags</th>
8275 </tr>
8276 </thead>
8277
8278 <tbody>
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8290 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8291 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008292 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008293
8294
8295
8296
8297 </td> <!-- entry_type -->
8298
8299 <td class="entry_description">
8300 Duration each pixel is exposed to
8301 light
8302 </td>
8303
8304 <td class="entry_units">
8305 nanoseconds
8306 </td>
8307
8308 <td class="entry_range">
8309 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8310 </td>
8311
8312 <td class="entry_notes">
8313 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8314 </td>
8315
8316 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008317 <ul class="entry_tags">
8318 <li><a href="#tag_V1">V1</a></li>
8319 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008320 </td>
8321
8322 </tr> <!-- end of entry -->
8323
8324
8325 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8326 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8327 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008328 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008329
8330
8331
8332
8333 </td> <!-- entry_type -->
8334
8335 <td class="entry_description">
8336 Duration from start of frame exposure to
8337 start of next frame exposure
8338 </td>
8339
8340 <td class="entry_units">
8341 nanoseconds
8342 </td>
8343
8344 <td class="entry_range">
8345 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8346 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8347 </td>
8348
8349 <td class="entry_notes">
8350 Exposure time has priority,<wbr> so duration is set to
8351 max(duration,<wbr> exposure time + overhead)
8352 </td>
8353
8354 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008355 <ul class="entry_tags">
8356 <li><a href="#tag_V1">V1</a></li>
8357 <li><a href="#tag_BC">BC</a></li>
8358 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008359 </td>
8360
8361 </tr> <!-- end of entry -->
8362
8363
8364 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8365 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8366 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008367 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008368
8369
8370
8371
8372 </td> <!-- entry_type -->
8373
8374 <td class="entry_description">
8375 Gain applied to image data.<wbr> Must be
8376 implemented through analog gain only if set to values
8377 below 'maximum analog sensitivity'.<wbr>
8378 </td>
8379
8380 <td class="entry_units">
8381 ISO arithmetic units
8382 </td>
8383
8384 <td class="entry_range">
8385 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8386 </td>
8387
8388 <td class="entry_notes">
8389 ISO 12232:2006 REI method
8390 </td>
8391
8392 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008393 <ul class="entry_tags">
8394 <li><a href="#tag_V1">V1</a></li>
8395 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008396 </td>
8397
8398 </tr> <!-- end of entry -->
8399
8400
8401 <tr class="entry" id="dynamic_android.sensor.timestamp">
8402 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8403 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008404 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008405
8406
8407
8408
8409 </td> <!-- entry_type -->
8410
8411 <td class="entry_description">
8412 Time at start of exposure of first
8413 row
8414 </td>
8415
8416 <td class="entry_units">
8417 nanoseconds
8418 </td>
8419
8420 <td class="entry_range">
8421 > 0
8422 </td>
8423
8424 <td class="entry_notes">
8425 Monotonic,<wbr> should be synced to other timestamps in
8426 system
8427 </td>
8428
8429 <td class="entry_tags">
8430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008431 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008432 </ul>
8433 </td>
8434
8435 </tr> <!-- end of entry -->
8436
8437
8438
8439 <!-- end of kind -->
8440 </tbody>
8441
8442 <!-- end of section -->
8443 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
8444
8445
8446 <tr><td colspan="7" class="kind">controls</td></tr>
8447
8448 <thead>
8449 <tr>
8450 <th class="th_name">Property Name</th>
8451 <th class="th_type">Type</th>
8452 <th class="th_description">Description</th>
8453 <th class="th_units">Units</th>
8454 <th class="th_range">Range</th>
8455 <th class="th_notes">Notes</th>
8456 <th class="th_tags">Tags</th>
8457 </tr>
8458 </thead>
8459
8460 <tbody>
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471 <tr class="entry" id="controls_android.shading.mode">
8472 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8473 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008474 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008475
8476
8477
8478 <ul class="entry_type_enum">
8479 <li>
8480 <span class="entry_type_enum_name">OFF</span>
8481 <span class="entry_type_enum_notes">No shading correction is applied</span>
8482 </li>
8483 <li>
8484 <span class="entry_type_enum_name">FAST</span>
8485 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8486 bayer output</span>
8487 </li>
8488 <li>
8489 <span class="entry_type_enum_name">HIGH_QUALITY</span>
8490 <span class="entry_type_enum_notes">Frame rate may be reduced by high
8491 quality</span>
8492 </li>
8493 </ul>
8494
8495 </td> <!-- entry_type -->
8496
8497 <td class="entry_description">
8498 Quality of lens shading correction applied
8499 to the image data
8500 </td>
8501
8502 <td class="entry_units">
8503 </td>
8504
8505 <td class="entry_range">
8506 </td>
8507
8508 <td class="entry_notes">
8509 </td>
8510
8511 <td class="entry_tags">
8512 </td>
8513
8514 </tr> <!-- end of entry -->
8515
8516
8517 <tr class="entry" id="controls_android.shading.strength">
8518 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
8519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008520 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008521
8522
8523
8524
8525 </td> <!-- entry_type -->
8526
8527 <td class="entry_description">
8528 Control the amount of shading correction
8529 applied to the images
8530 </td>
8531
8532 <td class="entry_units">
8533 unitless: 1-10; 10 is full shading
8534 compensation
8535 </td>
8536
8537 <td class="entry_range">
8538 </td>
8539
8540 <td class="entry_notes">
8541 </td>
8542
8543 <td class="entry_tags">
8544 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008545 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008546 </ul>
8547 </td>
8548
8549 </tr> <!-- end of entry -->
8550
8551
8552
8553 <!-- end of kind -->
8554 </tbody>
8555 <tr><td colspan="7" class="kind">dynamic</td></tr>
8556
8557 <thead>
8558 <tr>
8559 <th class="th_name">Property Name</th>
8560 <th class="th_type">Type</th>
8561 <th class="th_description">Description</th>
8562 <th class="th_units">Units</th>
8563 <th class="th_range">Range</th>
8564 <th class="th_notes">Notes</th>
8565 <th class="th_tags">Tags</th>
8566 </tr>
8567 </thead>
8568
8569 <tbody>
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580 <tr class="entry" id="dynamic_android.shading.mode">
8581 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8582 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008583 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008584
8585
8586
8587 <ul class="entry_type_enum">
8588 <li>
8589 <span class="entry_type_enum_name">OFF</span>
8590 <span class="entry_type_enum_notes">No shading correction is applied</span>
8591 </li>
8592 <li>
8593 <span class="entry_type_enum_name">FAST</span>
8594 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8595 bayer output</span>
8596 </li>
8597 <li>
8598 <span class="entry_type_enum_name">HIGH_QUALITY</span>
8599 <span class="entry_type_enum_notes">Frame rate may be reduced by high
8600 quality</span>
8601 </li>
8602 </ul>
8603
8604 </td> <!-- entry_type -->
8605
8606 <td class="entry_description">
8607 Quality of lens shading correction applied
8608 to the image data
8609 </td>
8610
8611 <td class="entry_units">
8612 </td>
8613
8614 <td class="entry_range">
8615 </td>
8616
8617 <td class="entry_notes">
8618 </td>
8619
8620 <td class="entry_tags">
8621 </td>
8622
8623 </tr> <!-- end of entry -->
8624
8625
8626
8627 <!-- end of kind -->
8628 </tbody>
8629
8630 <!-- end of section -->
8631 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
8632
8633
8634 <tr><td colspan="7" class="kind">controls</td></tr>
8635
8636 <thead>
8637 <tr>
8638 <th class="th_name">Property Name</th>
8639 <th class="th_type">Type</th>
8640 <th class="th_description">Description</th>
8641 <th class="th_units">Units</th>
8642 <th class="th_range">Range</th>
8643 <th class="th_notes">Notes</th>
8644 <th class="th_tags">Tags</th>
8645 </tr>
8646 </thead>
8647
8648 <tbody>
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659 <tr class="entry" id="controls_android.statistics.faceDetectMode">
8660 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
8661 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008662 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008663
8664
8665
8666 <ul class="entry_type_enum">
8667 <li>
8668 <span class="entry_type_enum_name">OFF</span>
8669 </li>
8670 <li>
8671 <span class="entry_type_enum_name">SIMPLE</span>
8672 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
8673 only</span>
8674 </li>
8675 <li>
8676 <span class="entry_type_enum_name">FULL</span>
8677 <span class="entry_type_enum_notes">Optional Return all face
8678 metadata</span>
8679 </li>
8680 </ul>
8681
8682 </td> <!-- entry_type -->
8683
8684 <td class="entry_description">
8685 State of the face detector
8686 unit
8687 </td>
8688
8689 <td class="entry_units">
8690 </td>
8691
8692 <td class="entry_range">
8693
8694 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
8695 </td>
8696
8697 <td class="entry_notes">
8698 </td>
8699
8700 <td class="entry_tags">
8701 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008702 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008703 </ul>
8704 </td>
8705
8706 </tr> <!-- end of entry -->
8707
8708
8709 <tr class="entry" id="controls_android.statistics.histogramMode">
8710 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
8711 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008712 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008713
8714
8715
8716 <ul class="entry_type_enum">
8717 <li>
8718 <span class="entry_type_enum_name">OFF</span>
8719 </li>
8720 <li>
8721 <span class="entry_type_enum_name">ON</span>
8722 </li>
8723 </ul>
8724
8725 </td> <!-- entry_type -->
8726
8727 <td class="entry_description">
8728 Operating mode for histogram
8729 generation
8730 </td>
8731
8732 <td class="entry_units">
8733 </td>
8734
8735 <td class="entry_range">
8736 </td>
8737
8738 <td class="entry_notes">
8739 </td>
8740
8741 <td class="entry_tags">
8742 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008743 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008744 </ul>
8745 </td>
8746
8747 </tr> <!-- end of entry -->
8748
8749
8750 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
8751 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
8752 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008753 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008754
8755
8756
8757 <ul class="entry_type_enum">
8758 <li>
8759 <span class="entry_type_enum_name">OFF</span>
8760 </li>
8761 <li>
8762 <span class="entry_type_enum_name">ON</span>
8763 </li>
8764 </ul>
8765
8766 </td> <!-- entry_type -->
8767
8768 <td class="entry_description">
8769 Operating mode for sharpness map
8770 generation
8771 </td>
8772
8773 <td class="entry_units">
8774 </td>
8775
8776 <td class="entry_range">
8777 </td>
8778
8779 <td class="entry_notes">
8780 </td>
8781
8782 <td class="entry_tags">
8783 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008784 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008785 </ul>
8786 </td>
8787
8788 </tr> <!-- end of entry -->
8789
8790
8791
8792 <!-- end of kind -->
8793 </tbody>
8794 <tr><td colspan="7" class="kind">static</td></tr>
8795
8796 <thead>
8797 <tr>
8798 <th class="th_name">Property Name</th>
8799 <th class="th_type">Type</th>
8800 <th class="th_description">Description</th>
8801 <th class="th_units">Units</th>
8802 <th class="th_range">Range</th>
8803 <th class="th_notes">Notes</th>
8804 <th class="th_tags">Tags</th>
8805 </tr>
8806 </thead>
8807
8808 <tbody>
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
8822 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
8823 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008824 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008825 <span class="entry_type_container">x</span>
8826
8827 <span class="entry_type_array">
8828 n
8829 </span>
8830
8831 <div class="entry_type_notes">List of enums</div>
8832
8833
8834 </td> <!-- entry_type -->
8835
8836 <td class="entry_description">
8837 Which face detection modes are available,<wbr>
8838 if any
8839 </td>
8840
8841 <td class="entry_units">
8842 </td>
8843
8844 <td class="entry_range">
8845 OFF
8846 </td>
8847
8848 <td class="entry_notes">
8849 </td>
8850
8851 <td class="entry_tags">
8852 </td>
8853
8854 </tr> <!-- end of entry -->
8855
8856
8857 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
8858 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
8859 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008860 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008861
8862
8863
8864
8865 </td> <!-- entry_type -->
8866
8867 <td class="entry_description">
8868 Number of histogram buckets
8869 supported
8870 </td>
8871
8872 <td class="entry_units">
8873 </td>
8874
8875 <td class="entry_range">
8876 >= 64
8877 </td>
8878
8879 <td class="entry_notes">
8880 </td>
8881
8882 <td class="entry_tags">
8883 </td>
8884
8885 </tr> <!-- end of entry -->
8886
8887
8888 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
8889 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
8890 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008891 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008892
8893
8894
8895
8896 </td> <!-- entry_type -->
8897
8898 <td class="entry_description">
8899 If face detection is supported,<wbr> how many
8900 faces can be detected at once
8901 </td>
8902
8903 <td class="entry_units">
8904 </td>
8905
8906 <td class="entry_range">
8907 >= 4 if availableFaceDetectionModes lists
8908 modes besides OFF,<wbr> otherwise 0
8909 </td>
8910
8911 <td class="entry_notes">
8912 </td>
8913
8914 <td class="entry_tags">
8915 </td>
8916
8917 </tr> <!-- end of entry -->
8918
8919
8920 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
8921 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
8922 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008923 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008924
8925
8926
8927
8928 </td> <!-- entry_type -->
8929
8930 <td class="entry_description">
8931 Maximum value possible for a histogram
8932 bucket
8933 </td>
8934
8935 <td class="entry_units">
8936 </td>
8937
8938 <td class="entry_range">
8939 </td>
8940
8941 <td class="entry_notes">
8942 </td>
8943
8944 <td class="entry_tags">
8945 </td>
8946
8947 </tr> <!-- end of entry -->
8948
8949
8950 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
8951 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
8952 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008953 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008954
8955
8956
8957
8958 </td> <!-- entry_type -->
8959
8960 <td class="entry_description">
8961 Maximum value possible for a sharpness map
8962 region.<wbr>
8963 </td>
8964
8965 <td class="entry_units">
8966 </td>
8967
8968 <td class="entry_range">
8969 </td>
8970
8971 <td class="entry_notes">
8972 </td>
8973
8974 <td class="entry_tags">
8975 </td>
8976
8977 </tr> <!-- end of entry -->
8978
8979
8980 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
8981 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
8982 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008983 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008984 <span class="entry_type_container">x</span>
8985
8986 <span class="entry_type_array">
8987 2
8988 </span>
8989
8990 <div class="entry_type_notes">width x height</div>
8991
8992
8993 </td> <!-- entry_type -->
8994
8995 <td class="entry_description">
8996 Dimensions of the sharpness
8997 map
8998 </td>
8999
9000 <td class="entry_units">
9001 </td>
9002
9003 <td class="entry_range">
9004 Must be at least 32 x 32
9005 </td>
9006
9007 <td class="entry_notes">
9008 </td>
9009
9010 <td class="entry_tags">
9011 </td>
9012
9013 </tr> <!-- end of entry -->
9014
9015
9016
9017
9018
9019
9020 <!-- end of kind -->
9021 </tbody>
9022 <tr><td colspan="7" class="kind">dynamic</td></tr>
9023
9024 <thead>
9025 <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="dynamic_android.statistics.faceDetectMode">
9048 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<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
9052
9053
9054 <ul class="entry_type_enum">
9055 <li>
9056 <span class="entry_type_enum_name">OFF</span>
9057 </li>
9058 <li>
9059 <span class="entry_type_enum_name">SIMPLE</span>
9060 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9061 only</span>
9062 </li>
9063 <li>
9064 <span class="entry_type_enum_name">FULL</span>
9065 <span class="entry_type_enum_notes">Optional Return all face
9066 metadata</span>
9067 </li>
9068 </ul>
9069
9070 </td> <!-- entry_type -->
9071
9072 <td class="entry_description">
9073 State of the face detector
9074 unit
9075 </td>
9076
9077 <td class="entry_units">
9078 </td>
9079
9080 <td class="entry_range">
9081
9082 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
9083 </td>
9084
9085 <td class="entry_notes">
9086 </td>
9087
9088 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009089 <ul class="entry_tags">
9090 <li><a href="#tag_BC">BC</a></li>
9091 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009092 </td>
9093
9094 </tr> <!-- end of entry -->
9095
9096
9097 <tr class="entry" id="dynamic_android.statistics.faceIds">
9098 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9099 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009100 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009101 <span class="entry_type_container">x</span>
9102
9103 <span class="entry_type_array">
9104 n
9105 </span>
9106
9107
9108
9109 </td> <!-- entry_type -->
9110
9111 <td class="entry_description">
9112 List of unique IDs for detected
9113 faces
9114 </td>
9115
9116 <td class="entry_units">
9117 </td>
9118
9119 <td class="entry_range">
9120 </td>
9121
9122 <td class="entry_notes">
9123 Only available if faceDetectMode == FULL
9124 </td>
9125
9126 <td class="entry_tags">
9127 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009128 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009129 </ul>
9130 </td>
9131
9132 </tr> <!-- end of entry -->
9133
9134
9135 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9136 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9137 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009138 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009139 <span class="entry_type_container">x</span>
9140
9141 <span class="entry_type_array">
9142 n x 6
9143 </span>
9144
9145 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9146
9147
9148 </td> <!-- entry_type -->
9149
9150 <td class="entry_description">
9151 List of landmarks for detected
9152 faces
9153 </td>
9154
9155 <td class="entry_units">
9156 </td>
9157
9158 <td class="entry_range">
9159 </td>
9160
9161 <td class="entry_notes">
9162 Only available if faceDetectMode == FULL
9163 </td>
9164
9165 <td class="entry_tags">
9166 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009167 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009168 </ul>
9169 </td>
9170
9171 </tr> <!-- end of entry -->
9172
9173
9174 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9175 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9176 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009177 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009178 <span class="entry_type_container">x</span>
9179
9180 <span class="entry_type_array">
9181 n x 4
9182 </span>
9183
9184 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9185
9186
9187 </td> <!-- entry_type -->
9188
9189 <td class="entry_description">
9190 List of the bounding rectangles for detected
9191 faces
9192 </td>
9193
9194 <td class="entry_units">
9195 </td>
9196
9197 <td class="entry_range">
9198 </td>
9199
9200 <td class="entry_notes">
9201 Only available if faceDetectMode != OFF
9202 </td>
9203
9204 <td class="entry_tags">
9205 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009206 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009207 </ul>
9208 </td>
9209
9210 </tr> <!-- end of entry -->
9211
9212
9213 <tr class="entry" id="dynamic_android.statistics.faceScores">
9214 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9215 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009216 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009217 <span class="entry_type_container">x</span>
9218
9219 <span class="entry_type_array">
9220 n
9221 </span>
9222
9223
9224
9225 </td> <!-- entry_type -->
9226
9227 <td class="entry_description">
9228 List of the face confidence scores for
9229 detected faces
9230 </td>
9231
9232 <td class="entry_units">
9233 </td>
9234
9235 <td class="entry_range">
9236 0-100
9237 </td>
9238
9239 <td class="entry_notes">
9240 Only available if faceDetectMode != OFF
9241 </td>
9242
9243 <td class="entry_tags">
9244 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009245 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009246 </ul>
9247 </td>
9248
9249 </tr> <!-- end of entry -->
9250
9251
9252 <tr class="entry" id="dynamic_android.statistics.histogram">
9253 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9254 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009255 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009256 <span class="entry_type_container">x</span>
9257
9258 <span class="entry_type_array">
9259 n x 3
9260 </span>
9261
9262 <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>
9263
9264
9265 </td> <!-- entry_type -->
9266
9267 <td class="entry_description">
9268 A 3-channel histogram based on the raw
9269 sensor data
9270 </td>
9271
9272 <td class="entry_units">
9273 </td>
9274
9275 <td class="entry_range">
9276 </td>
9277
9278 <td class="entry_notes">
9279 The k'th bucket (0-based) covers the input range
9280 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9281 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9282 supported,<wbr> all channels should have the same data
9283 </td>
9284
9285 <td class="entry_tags">
9286 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009287 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009288 </ul>
9289 </td>
9290
9291 </tr> <!-- end of entry -->
9292
9293
9294 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9295 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009297 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298
9299
9300
9301 <ul class="entry_type_enum">
9302 <li>
9303 <span class="entry_type_enum_name">OFF</span>
9304 </li>
9305 <li>
9306 <span class="entry_type_enum_name">ON</span>
9307 </li>
9308 </ul>
9309
9310 </td> <!-- entry_type -->
9311
9312 <td class="entry_description">
9313 Operating mode for histogram
9314 generation
9315 </td>
9316
9317 <td class="entry_units">
9318 </td>
9319
9320 <td class="entry_range">
9321 </td>
9322
9323 <td class="entry_notes">
9324 </td>
9325
9326 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009327 <ul class="entry_tags">
9328 <li><a href="#tag_V1">V1</a></li>
9329 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009330 </td>
9331
9332 </tr> <!-- end of entry -->
9333
9334
9335 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9336 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9337 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009338 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009339 <span class="entry_type_container">x</span>
9340
9341 <span class="entry_type_array">
9342 n x m x 3
9343 </span>
9344
9345 <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>
9346
9347
9348 </td> <!-- entry_type -->
9349
9350 <td class="entry_description">
9351 A 3-channel sharpness map,<wbr> based on the raw
9352 sensor data
9353 </td>
9354
9355 <td class="entry_units">
9356 </td>
9357
9358 <td class="entry_range">
9359 </td>
9360
9361 <td class="entry_notes">
9362 If only a monochrome sharpness map is supported,<wbr>
9363 all channels should have the same data
9364 </td>
9365
9366 <td class="entry_tags">
9367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009368 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369 </ul>
9370 </td>
9371
9372 </tr> <!-- end of entry -->
9373
9374
9375 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
9376 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9377 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009378 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009379
9380
9381
9382 <ul class="entry_type_enum">
9383 <li>
9384 <span class="entry_type_enum_name">OFF</span>
9385 </li>
9386 <li>
9387 <span class="entry_type_enum_name">ON</span>
9388 </li>
9389 </ul>
9390
9391 </td> <!-- entry_type -->
9392
9393 <td class="entry_description">
9394 Operating mode for sharpness map
9395 generation
9396 </td>
9397
9398 <td class="entry_units">
9399 </td>
9400
9401 <td class="entry_range">
9402 </td>
9403
9404 <td class="entry_notes">
9405 </td>
9406
9407 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009408 <ul class="entry_tags">
9409 <li><a href="#tag_V1">V1</a></li>
9410 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009411 </td>
9412
9413 </tr> <!-- end of entry -->
9414
9415
9416
9417 <!-- end of kind -->
9418 </tbody>
9419
9420 <!-- end of section -->
9421 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
9422
9423
9424 <tr><td colspan="7" class="kind">controls</td></tr>
9425
9426 <thead>
9427 <tr>
9428 <th class="th_name">Property Name</th>
9429 <th class="th_type">Type</th>
9430 <th class="th_description">Description</th>
9431 <th class="th_units">Units</th>
9432 <th class="th_range">Range</th>
9433 <th class="th_notes">Notes</th>
9434 <th class="th_tags">Tags</th>
9435 </tr>
9436 </thead>
9437
9438 <tbody>
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449 <tr class="entry" id="controls_android.tonemap.curveBlue">
9450 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9451 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009452 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009453
9454
9455
9456
9457 </td> <!-- entry_type -->
9458
9459 <td class="entry_description">
9460 Table mapping blue input values to output
9461 values
9462 </td>
9463
9464 <td class="entry_units">
9465 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9466 </td>
9467
9468 <td class="entry_range">
9469 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9470 </td>
9471
9472 <td class="entry_notes">
9473 </td>
9474
9475 <td class="entry_tags">
9476 </td>
9477
9478 </tr> <!-- end of entry -->
9479
9480
9481 <tr class="entry" id="controls_android.tonemap.curveGreen">
9482 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9483 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009484 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009485
9486
9487
9488
9489 </td> <!-- entry_type -->
9490
9491 <td class="entry_description">
9492 Table mapping green input values to output
9493 values
9494 </td>
9495
9496 <td class="entry_units">
9497 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9498 </td>
9499
9500 <td class="entry_range">
9501 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9502 </td>
9503
9504 <td class="entry_notes">
9505 </td>
9506
9507 <td class="entry_tags">
9508 </td>
9509
9510 </tr> <!-- end of entry -->
9511
9512
9513 <tr class="entry" id="controls_android.tonemap.curveRed">
9514 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9515 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009516 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009517 <span class="entry_type_container">x</span>
9518
9519 <span class="entry_type_array">
9520 n x 2
9521 </span>
9522
9523 <div class="entry_type_notes">A 1D array of pairs of floats.<wbr> mapping a 0-1 input range to a 0-1 output range.<wbr></div>
9524
9525
9526 </td> <!-- entry_type -->
9527
9528 <td class="entry_description">
9529 Table mapping red input values to output
9530 values
9531 </td>
9532
9533 <td class="entry_units">
9534 </td>
9535
9536 <td class="entry_range">
9537 0-1 on input and output coordinates.<wbr> Max entry
9538 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9539 </td>
9540
9541 <td class="entry_notes">
9542 .<wbr>The input range must be monotonically increasing
9543 with N,<wbr> and values between entries should be linearly
9544 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9545 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9546 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9547 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9548 </td>
9549
9550 <td class="entry_tags">
9551 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009552 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009553 </ul>
9554 </td>
9555
9556 </tr> <!-- end of entry -->
9557
9558
9559 <tr class="entry" id="controls_android.tonemap.mode">
9560 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9561 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009562 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009563
9564
9565
9566 <ul class="entry_type_enum">
9567 <li>
9568 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9569 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9570 android.<wbr>tonemap.<wbr>curve</span>
9571 </li>
9572 <li>
9573 <span class="entry_type_enum_name">FAST</span>
9574 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9575 bayer output</span>
9576 </li>
9577 <li>
9578 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9579 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9580 quality</span>
9581 </li>
9582 </ul>
9583
9584 </td> <!-- entry_type -->
9585
9586 <td class="entry_description">
9587 </td>
9588
9589 <td class="entry_units">
9590 </td>
9591
9592 <td class="entry_range">
9593 </td>
9594
9595 <td class="entry_notes">
9596 </td>
9597
9598 <td class="entry_tags">
9599 </td>
9600
9601 </tr> <!-- end of entry -->
9602
9603
9604
9605 <!-- end of kind -->
9606 </tbody>
9607 <tr><td colspan="7" class="kind">static</td></tr>
9608
9609 <thead>
9610 <tr>
9611 <th class="th_name">Property Name</th>
9612 <th class="th_type">Type</th>
9613 <th class="th_description">Description</th>
9614 <th class="th_units">Units</th>
9615 <th class="th_range">Range</th>
9616 <th class="th_notes">Notes</th>
9617 <th class="th_tags">Tags</th>
9618 </tr>
9619 </thead>
9620
9621 <tbody>
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
9633 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
9634 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009635 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009636
9637
9638
9639
9640 </td> <!-- entry_type -->
9641
9642 <td class="entry_description">
9643 Maximum number of supported points in the
9644 tonemap curve
9645 </td>
9646
9647 <td class="entry_units">
9648 </td>
9649
9650 <td class="entry_range">
9651 >= 128
9652 </td>
9653
9654 <td class="entry_notes">
9655 </td>
9656
9657 <td class="entry_tags">
9658 </td>
9659
9660 </tr> <!-- end of entry -->
9661
9662
9663
9664 <!-- end of kind -->
9665 </tbody>
9666 <tr><td colspan="7" class="kind">dynamic</td></tr>
9667
9668 <thead>
9669 <tr>
9670 <th class="th_name">Property Name</th>
9671 <th class="th_type">Type</th>
9672 <th class="th_description">Description</th>
9673 <th class="th_units">Units</th>
9674 <th class="th_range">Range</th>
9675 <th class="th_notes">Notes</th>
9676 <th class="th_tags">Tags</th>
9677 </tr>
9678 </thead>
9679
9680 <tbody>
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
9692 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9693 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009694 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009695
9696
9697
9698
9699 </td> <!-- entry_type -->
9700
9701 <td class="entry_description">
9702 Table mapping blue input values to output
9703 values
9704 </td>
9705
9706 <td class="entry_units">
9707 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9708 </td>
9709
9710 <td class="entry_range">
9711 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9712 </td>
9713
9714 <td class="entry_notes">
9715 </td>
9716
9717 <td class="entry_tags">
9718 </td>
9719
9720 </tr> <!-- end of entry -->
9721
9722
9723 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
9724 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9725 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009726 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009727
9728
9729
9730
9731 </td> <!-- entry_type -->
9732
9733 <td class="entry_description">
9734 Table mapping green input values to output
9735 values
9736 </td>
9737
9738 <td class="entry_units">
9739 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9740 </td>
9741
9742 <td class="entry_range">
9743 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9744 </td>
9745
9746 <td class="entry_notes">
9747 </td>
9748
9749 <td class="entry_tags">
9750 </td>
9751
9752 </tr> <!-- end of entry -->
9753
9754
9755 <tr class="entry" id="dynamic_android.tonemap.curveRed">
9756 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9757 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009758 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009759 <span class="entry_type_container">x</span>
9760
9761 <span class="entry_type_array">
9762 n x 2
9763 </span>
9764
9765 <div class="entry_type_notes">A 1D array of pairs of floats.<wbr> mapping a 0-1 input range to a 0-1 output range.<wbr></div>
9766
9767
9768 </td> <!-- entry_type -->
9769
9770 <td class="entry_description">
9771 Table mapping red input values to output
9772 values
9773 </td>
9774
9775 <td class="entry_units">
9776 </td>
9777
9778 <td class="entry_range">
9779 0-1 on input and output coordinates.<wbr> Max entry
9780 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9781 </td>
9782
9783 <td class="entry_notes">
9784 .<wbr>The input range must be monotonically increasing
9785 with N,<wbr> and values between entries should be linearly
9786 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9787 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9788 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9789 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9790 </td>
9791
9792 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009793 <ul class="entry_tags">
9794 <li><a href="#tag_DNG">DNG</a></li>
9795 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009796 </td>
9797
9798 </tr> <!-- end of entry -->
9799
9800
9801 <tr class="entry" id="dynamic_android.tonemap.mode">
9802 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9803 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009804 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009805
9806
9807
9808 <ul class="entry_type_enum">
9809 <li>
9810 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9811 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9812 android.<wbr>tonemap.<wbr>curve</span>
9813 </li>
9814 <li>
9815 <span class="entry_type_enum_name">FAST</span>
9816 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9817 bayer output</span>
9818 </li>
9819 <li>
9820 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9821 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9822 quality</span>
9823 </li>
9824 </ul>
9825
9826 </td> <!-- entry_type -->
9827
9828 <td class="entry_description">
9829 </td>
9830
9831 <td class="entry_units">
9832 </td>
9833
9834 <td class="entry_range">
9835 </td>
9836
9837 <td class="entry_notes">
9838 </td>
9839
9840 <td class="entry_tags">
9841 </td>
9842
9843 </tr> <!-- end of entry -->
9844
9845
9846
9847 <!-- end of kind -->
9848 </tbody>
9849
9850 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -07009851 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
9852
9853
9854 <tr><td colspan="7" class="kind">controls</td></tr>
9855
9856 <thead>
9857 <tr>
9858 <th class="th_name">Property Name</th>
9859 <th class="th_type">Type</th>
9860 <th class="th_description">Description</th>
9861 <th class="th_units">Units</th>
9862 <th class="th_range">Range</th>
9863 <th class="th_notes">Notes</th>
9864 <th class="th_tags">Tags</th>
9865 </tr>
9866 </thead>
9867
9868 <tbody>
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879 <tr class="entry" id="controls_android.led.transmit">
9880 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
9881 <td class="entry_type">
9882 <span class="entry_type_name entry_type_name_enum">byte</span>
9883
9884
9885
9886 <ul class="entry_type_enum">
9887 <li>
9888 <span class="entry_type_enum_name">OFF</span>
9889 </li>
9890 <li>
9891 <span class="entry_type_enum_name">ON</span>
9892 </li>
9893 </ul>
9894
9895 </td> <!-- entry_type -->
9896
9897 <td class="entry_description">
9898 This LED is nominally used to indicate to the user
9899 that the camera is powered on and may be streaming images back to the
9900 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
9901 disable this when video is processed locally and not transmitted to
9902 any untrusted applications.<wbr>
9903<br>
9904<br> In particular,<wbr> the LED *must* always be on when the data could be
9905 transmitted off the device.<wbr> The LED *should* always be on whenever
9906 data is stored locally on the device.<wbr>
9907<br>
9908<br> The LED *may* be off if a trusted application is using the data that
9909 doesn't violate the above rules.<wbr>
9910
9911 </td>
9912
9913 <td class="entry_units">
9914 </td>
9915
9916 <td class="entry_range">
9917 </td>
9918
9919 <td class="entry_notes">
9920 </td>
9921
9922 <td class="entry_tags">
9923 </td>
9924
9925 </tr> <!-- end of entry -->
9926
9927
9928
9929 <!-- end of kind -->
9930 </tbody>
9931 <tr><td colspan="7" class="kind">dynamic</td></tr>
9932
9933 <thead>
9934 <tr>
9935 <th class="th_name">Property Name</th>
9936 <th class="th_type">Type</th>
9937 <th class="th_description">Description</th>
9938 <th class="th_units">Units</th>
9939 <th class="th_range">Range</th>
9940 <th class="th_notes">Notes</th>
9941 <th class="th_tags">Tags</th>
9942 </tr>
9943 </thead>
9944
9945 <tbody>
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956 <tr class="entry" id="dynamic_android.led.transmit">
9957 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
9958 <td class="entry_type">
9959 <span class="entry_type_name entry_type_name_enum">byte</span>
9960
9961
9962
9963 <ul class="entry_type_enum">
9964 <li>
9965 <span class="entry_type_enum_name">OFF</span>
9966 </li>
9967 <li>
9968 <span class="entry_type_enum_name">ON</span>
9969 </li>
9970 </ul>
9971
9972 </td> <!-- entry_type -->
9973
9974 <td class="entry_description">
9975 This LED is nominally used to indicate to the user
9976 that the camera is powered on and may be streaming images back to the
9977 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
9978 disable this when video is processed locally and not transmitted to
9979 any untrusted applications.<wbr>
9980<br>
9981<br> In particular,<wbr> the LED *must* always be on when the data could be
9982 transmitted off the device.<wbr> The LED *should* always be on whenever
9983 data is stored locally on the device.<wbr>
9984<br>
9985<br> The LED *may* be off if a trusted application is using the data that
9986 doesn't violate the above rules.<wbr>
9987
9988 </td>
9989
9990 <td class="entry_units">
9991 </td>
9992
9993 <td class="entry_range">
9994 </td>
9995
9996 <td class="entry_notes">
9997 </td>
9998
9999 <td class="entry_tags">
10000 </td>
10001
10002 </tr> <!-- end of entry -->
10003
10004
10005
10006 <!-- end of kind -->
10007 </tbody>
10008 <tr><td colspan="7" class="kind">static</td></tr>
10009
10010 <thead>
10011 <tr>
10012 <th class="th_name">Property Name</th>
10013 <th class="th_type">Type</th>
10014 <th class="th_description">Description</th>
10015 <th class="th_units">Units</th>
10016 <th class="th_range">Range</th>
10017 <th class="th_notes">Notes</th>
10018 <th class="th_tags">Tags</th>
10019 </tr>
10020 </thead>
10021
10022 <tbody>
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033 <tr class="entry" id="static_android.led.availableLeds">
10034 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10035 <td class="entry_type">
10036 <span class="entry_type_name entry_type_name_enum">byte</span>
10037 <span class="entry_type_container">x</span>
10038
10039 <span class="entry_type_array">
10040 n
10041 </span>
10042
10043
10044 <ul class="entry_type_enum">
10045 <li>
10046 <span class="entry_type_enum_name">TRANSMIT</span>
10047 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10048 </li>
10049 </ul>
10050
10051 </td> <!-- entry_type -->
10052
10053 <td class="entry_description">
10054 A list of camera LEDs that are available on this system.<wbr>
10055
10056 </td>
10057
10058 <td class="entry_units">
10059 </td>
10060
10061 <td class="entry_range">
10062 </td>
10063
10064 <td class="entry_notes">
10065 </td>
10066
10067 <td class="entry_tags">
10068 </td>
10069
10070 </tr> <!-- end of entry -->
10071
10072
10073
10074 <!-- end of kind -->
10075 </tbody>
10076
10077 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010078<!-- </namespace> -->
10079 </table>
10080
10081 <div class="tags" id="tag_index">
10082 <h2>Tags</h2>
10083 <ul>
10084 <li id="tag_AWB">AWB -
10085 Needed for auto white balance
10086
10087 <ul class="tags_entries">
10088 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10089 </ul>
10090 </li> <!-- tag_AWB -->
10091 <li id="tag_BC">BC -
10092 Needed for backwards compatibility with old Java API
10093
10094 <ul class="tags_entries">
10095 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
10096 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
10097 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
10098 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
10099 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010100 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010101 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
10102 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010103 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010104 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
10105 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10106 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
10107 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
10108 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
10109 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
10110 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
10111 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
10112 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
10113 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
10114 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
10115 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
10116 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
10117 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
10118 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
10119 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
10120 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
10121 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
10122 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
10123 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
10124 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
10125 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
10126 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
10127 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
10128 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
10129 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
10130 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
10131 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10132 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10133 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
10134 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
10135 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
10136 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
10137 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
10138 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
10139 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070010140 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010141 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
10142 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
10143 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010144 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10145 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10146 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10147 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10148 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10149 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
10150 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
10151 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
10152 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
10153 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
10154 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
10155 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
10156 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
10157 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
10158 </ul>
10159 </li> <!-- tag_BC -->
10160 <li id="tag_V1">V1 -
10161 New features for first camera 2 release (API1)
10162
10163 <ul class="tags_entries">
10164 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
10165 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
10166 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
10167 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
10168 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
10169 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
10170 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
10171 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
10172 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10173 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
10174 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
10175 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
10176 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10177 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
10178 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
10179 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
10180 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
10181 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
10182 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
10183 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
10184 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
10185 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
10186 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10187 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
10188 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10189 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
10190 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10191 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10192 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
10193 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
10194 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
10195 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
10196 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
10197 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
10198 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
10199 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
10200 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
10201 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
10202 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
10203 </ul>
10204 </li> <!-- tag_V1 -->
10205 <li id="tag_ADV">ADV - None
10206 <ul class="tags_entries">
10207 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
10208 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
10209 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
10210 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
10211 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
10212 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
10213 </ul>
10214 </li> <!-- tag_ADV -->
10215 <li id="tag_DNG">DNG -
10216 Needed for DNG file support
10217
10218 <ul class="tags_entries">
10219 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
10220 <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
10221 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
10222 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
10223 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10224 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
10225 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
10226 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
10227 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
10228 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
10229 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
10230 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
10231 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
10232 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10233 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
10234 </ul>
10235 </li> <!-- tag_DNG -->
10236 <li id="tag_EXIF">EXIF - None
10237 <ul class="tags_entries">
10238 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10239 </ul>
10240 </li> <!-- tag_EXIF -->
10241 </ul>
10242 </div>
10243
10244 [ <a href="#">top</a> ]
10245
10246</body>
10247</html>