blob: 517b8f817f2edd3f388e0d710d7ef33ec0ee28ed [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>
268 <li><a href="#static_android.scaler.maxDigitalZoom">android.scaler.maxDigitalZoom</a> (static)</li>
269 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a> (dynamic)</li>
270 </ul>
271 </li> <!-- toc_section -->
272 <li><p class="toc_section"><a href="#section_sensor">sensor</a></p>
273 <ul class="toc_section">
274 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
275 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
276 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
277 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
278 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
279 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
280 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
281 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
282 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
283 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
284 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
285 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
286 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
287 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
288 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
289 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
290 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
291 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
292 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
293 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
294 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
295 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
296 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
297 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a> (static)</li>
298 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a> (dynamic)</li>
299 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a> (dynamic)</li>
300 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a> (dynamic)</li>
301 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
302 </ul>
303 </li> <!-- toc_section -->
304 <li><p class="toc_section"><a href="#section_shading">shading</a></p>
305 <ul class="toc_section">
306 <li><a href="#controls_android.shading.mode">android.shading.mode</a> (controls)</li>
307 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
308 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a> (dynamic)</li>
309 </ul>
310 </li> <!-- toc_section -->
311 <li><p class="toc_section"><a href="#section_statistics">statistics</a></p>
312 <ul class="toc_section">
313 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
314 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
315 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
316 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a> (static)</li>
317 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a> (static)</li>
318 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a> (static)</li>
319 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a> (static)</li>
320 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a> (static)</li>
321 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a> (static)</li>
322 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (dynamic)</li>
323 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
324 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
325 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
326 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
327 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
328 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a> (dynamic)</li>
329 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
330 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (dynamic)</li>
331 </ul>
332 </li> <!-- toc_section -->
333 <li><p class="toc_section"><a href="#section_tonemap">tonemap</a></p>
334 <ul class="toc_section">
335 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (controls)</li>
336 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (controls)</li>
337 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
338 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a> (controls)</li>
339 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a> (static)</li>
340 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (dynamic)</li>
341 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (dynamic)</li>
342 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a> (dynamic)</li>
343 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a> (dynamic)</li>
344 </ul>
345 </li> <!-- toc_section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700346 <li><p class="toc_section"><a href="#section_led">led</a></p>
347 <ul class="toc_section">
348 <li><a href="#controls_android.led.transmit">android.led.transmit</a> (controls)</li>
349 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a> (dynamic)</li>
350 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a> (static)</li>
351 </ul>
352 </li> <!-- toc_section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800353 </ul>
354
355 <h1>Properties</h1>
356 <table class="properties">
357
358 <thead class="thead_dummy">
359 <tr>
360 <th class="th_name">Property Name</th>
361 <th class="th_type">Type</th>
362 <th class="th_description">Description</th>
363 <th class="th_units">Units</th>
364 <th class="th_range">Range</th>
365 <th class="th_notes">Notes</th>
366 <th class="th_tags">Tags</th>
367 </tr>
368 </thead> <!-- so that the first occurrence of thead is not
369 above the first occurrence of tr -->
370<!-- <namespace name="android"> -->
371 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
372
373
374 <tr><td colspan="7" class="kind">controls</td></tr>
375
376 <thead>
377 <tr>
378 <th class="th_name">Property Name</th>
379 <th class="th_type">Type</th>
380 <th class="th_description">Description</th>
381 <th class="th_units">Units</th>
382 <th class="th_range">Range</th>
383 <th class="th_notes">Notes</th>
384 <th class="th_tags">Tags</th>
385 </tr>
386 </thead>
387
388 <tbody>
389
390
391
392
393
394
395
396
397
398
399 <tr class="entry" id="controls_android.colorCorrection.mode">
400 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800402 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800403
404
405
406 <ul class="entry_type_enum">
407 <li>
408 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
409 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
410 to do color conversion</span>
411 </li>
412 <li>
413 <span class="entry_type_enum_name">FAST</span>
414 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
415 bayer output</span>
416 </li>
417 <li>
418 <span class="entry_type_enum_name">HIGH_QUALITY</span>
419 <span class="entry_type_enum_notes">Frame rate may be reduced by high
420 quality</span>
421 </li>
422 </ul>
423
424 </td> <!-- entry_type -->
425
426 <td class="entry_description">
427 </td>
428
429 <td class="entry_units">
430 </td>
431
432 <td class="entry_range">
433 </td>
434
435 <td class="entry_notes">
436 </td>
437
438 <td class="entry_tags">
439 </td>
440
441 </tr> <!-- end of entry -->
442
443
444 <tr class="entry" id="controls_android.colorCorrection.transform">
445 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
446 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800447 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800448 <span class="entry_type_container">x</span>
449
450 <span class="entry_type_array">
451 3 x 3
452 </span>
453
454 <div class="entry_type_notes">3x3 float matrix in row-major order</div>
455
456
457 </td> <!-- entry_type -->
458
459 <td class="entry_description">
460 A transform matrix to chromatically adapt
461 pixels in the CIE XYZ (1931) color space from the scene
462 illuminant to the sRGB-standard
463 D65-illuminant
464 </td>
465
466 <td class="entry_units">
467 </td>
468
469 <td class="entry_range">
470 Output values are expected to be in the range
471 (0,<wbr>1)
472 </td>
473
474 <td class="entry_notes">
475 Values outside (0,<wbr>1) should be clamped.<wbr> Need to
476 provide utilities to go from CCT (+hue?),<wbr> or (x,<wbr>y) white
477 point,<wbr> (or AWB mode) to matrix; use linear Bradford
478 algorithm.<wbr>
479 </td>
480
481 <td class="entry_tags">
482 </td>
483
484 </tr> <!-- end of entry -->
485
486
487
488 <!-- end of kind -->
489 </tbody>
490 <tr><td colspan="7" class="kind">dynamic</td></tr>
491
492 <thead>
493 <tr>
494 <th class="th_name">Property Name</th>
495 <th class="th_type">Type</th>
496 <th class="th_description">Description</th>
497 <th class="th_units">Units</th>
498 <th class="th_range">Range</th>
499 <th class="th_notes">Notes</th>
500 <th class="th_tags">Tags</th>
501 </tr>
502 </thead>
503
504 <tbody>
505
506
507
508
509
510
511
512
513
514
515 <tr class="entry" id="dynamic_android.colorCorrection.mode">
516 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
517 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800518 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800519
520
521
522 <ul class="entry_type_enum">
523 <li>
524 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
525 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
526 to do color conversion</span>
527 </li>
528 <li>
529 <span class="entry_type_enum_name">FAST</span>
530 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
531 bayer output</span>
532 </li>
533 <li>
534 <span class="entry_type_enum_name">HIGH_QUALITY</span>
535 <span class="entry_type_enum_notes">Frame rate may be reduced by high
536 quality</span>
537 </li>
538 </ul>
539
540 </td> <!-- entry_type -->
541
542 <td class="entry_description">
543 </td>
544
545 <td class="entry_units">
546 </td>
547
548 <td class="entry_range">
549 </td>
550
551 <td class="entry_notes">
552 </td>
553
554 <td class="entry_tags">
555 </td>
556
557 </tr> <!-- end of entry -->
558
559
560
561 <!-- end of kind -->
562 </tbody>
563
564 <!-- end of section -->
565 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
566
567
568 <tr><td colspan="7" class="kind">controls</td></tr>
569
570 <thead>
571 <tr>
572 <th class="th_name">Property Name</th>
573 <th class="th_type">Type</th>
574 <th class="th_description">Description</th>
575 <th class="th_units">Units</th>
576 <th class="th_range">Range</th>
577 <th class="th_notes">Notes</th>
578 <th class="th_tags">Tags</th>
579 </tr>
580 </thead>
581
582 <tbody>
583
584
585
586
587
588
589
590
591
592
593 <tr class="entry" id="controls_android.control.aeAntibandingMode">
594 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800596 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800597
598
599
600 <ul class="entry_type_enum">
601 <li>
602 <span class="entry_type_enum_name">OFF</span>
603 </li>
604 <li>
605 <span class="entry_type_enum_name">50HZ</span>
606 </li>
607 <li>
608 <span class="entry_type_enum_name">60HZ</span>
609 </li>
610 <li>
611 <span class="entry_type_enum_name">AUTO</span>
612 </li>
613 </ul>
614
615 </td> <!-- entry_type -->
616
617 <td class="entry_description">
618 Enum for controlling
619 antibanding
620 </td>
621
622 <td class="entry_units">
623 </td>
624
625 <td class="entry_range">
626
627 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
628 </td>
629
630 <td class="entry_notes">
631 </td>
632
633 <td class="entry_tags">
634 </td>
635
636 </tr> <!-- end of entry -->
637
638
639 <tr class="entry" id="controls_android.control.aeExposureCompensation">
640 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
641 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800642 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800643
644
645
646
647 </td> <!-- entry_type -->
648
649 <td class="entry_description">
650 Adjustment to AE target image
651 brightness
652 </td>
653
654 <td class="entry_units">
655 count of positive/<wbr>negative EV steps
656 </td>
657
658 <td class="entry_range">
659 </td>
660
661 <td class="entry_notes">
662 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
663 exposure compensation of +2 EV; -3 will mean an exposure
664 compensation of -1
665 </td>
666
667 <td class="entry_tags">
668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800670 </ul>
671 </td>
672
673 </tr> <!-- end of entry -->
674
675
676 <tr class="entry" id="controls_android.control.aeLock">
677 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800679 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800680
681
682
683 <ul class="entry_type_enum">
684 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800685 <span class="entry_type_enum_name">OFF</span>
686 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
687 is free to update its parameters.<wbr></span>
688 </li>
689 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800690 <span class="entry_type_enum_name">ON</span>
691 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
692 must not update the exposure and sensitivity parameters
693 while the lock is active</span>
694 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800695 </ul>
696
697 </td> <!-- entry_type -->
698
699 <td class="entry_description">
700 Whether AE is currently locked to its latest
701 calculated values
702 </td>
703
704 <td class="entry_units">
705 </td>
706
707 <td class="entry_range">
708 </td>
709
710 <td class="entry_notes">
711 Note that even when AE is locked,<wbr> the flash may be
712 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
713 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
714 </td>
715
716 <td class="entry_tags">
717 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800718 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800719 </ul>
720 </td>
721
722 </tr> <!-- end of entry -->
723
724
725 <tr class="entry" id="controls_android.control.aeMode">
726 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
727 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800728 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800729
730
731
732 <ul class="entry_type_enum">
733 <li>
734 <span class="entry_type_enum_name">OFF</span>
735 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime
736 and sensor.<wbr>sensitivity are used</span>
737 </li>
738 <li>
739 <span class="entry_type_enum_name">ON</span>
740 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
741 control</span>
742 </li>
743 <li>
744 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
745 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
746 flash control; flash may be fired when precapture
747 trigger is activated,<wbr> and for captures for which
748 captureIntent = STILL_<wbr>CAPTURE</span>
749 </li>
750 <li>
751 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
752 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
753 flash control for precapture trigger and always flash
754 when captureIntent = STILL_<wbr>CAPTURE</span>
755 </li>
756 <li>
757 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
758 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
759 If deemed necessary,<wbr> red eye reduction sequence should
760 fire when precapture trigger is activated,<wbr> and final
761 flash should fire when captureIntent =
762 STILL_<wbr>CAPTURE</span>
763 </li>
764 </ul>
765
766 </td> <!-- entry_type -->
767
768 <td class="entry_description">
769 Whether AE is currently updating the sensor
770 exposure and sensitivity fields
771 </td>
772
773 <td class="entry_units">
774 </td>
775
776 <td class="entry_range">
777 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
778 </td>
779
780 <td class="entry_notes">
781 Only effective if android.<wbr>control.<wbr>mode =
782 AUTO
783 </td>
784
785 <td class="entry_tags">
786 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800787 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800788 </ul>
789 </td>
790
791 </tr> <!-- end of entry -->
792
793
794 <tr class="entry" id="controls_android.control.aeRegions">
795 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
796 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800797 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800798 <span class="entry_type_container">x</span>
799
800 <span class="entry_type_array">
801 5 x area_count
802 </span>
803
804
805
806 </td> <!-- entry_type -->
807
808 <td class="entry_description">
809 List of areas to use for
810 metering
811 </td>
812
813 <td class="entry_units">
814 </td>
815
816 <td class="entry_range">
817 </td>
818
819 <td class="entry_notes">
820 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
821 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
822 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
823 active pixel array,<wbr> and
824 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
825 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
826 bottom-right point of the active pixel array.<wbr> The weight
827 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
828 no specific metering area needs to be used by the HAL.<wbr> If
829 the metering region is outside the current
830 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
831 sections outside the region and output the used sections
832 in the frame metadata
833 </td>
834
835 <td class="entry_tags">
836 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800837 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800838 </ul>
839 </td>
840
841 </tr> <!-- end of entry -->
842
843
844 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
845 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
846 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800847 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800848 <span class="entry_type_container">x</span>
849
850 <span class="entry_type_array">
851 2
852 </span>
853
854
855
856 </td> <!-- entry_type -->
857
858 <td class="entry_description">
859 Range over which fps can be adjusted to
860 maintain exposure
861 </td>
862
863 <td class="entry_units">
864 </td>
865
866 <td class="entry_range">
867 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
868 </td>
869
870 <td class="entry_notes">
871 Only constrains AE algorithm,<wbr> not manual control
872 of android.<wbr>sensor.<wbr>exposure<wbr>Time
873 </td>
874
875 <td class="entry_tags">
876 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800877 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800878 </ul>
879 </td>
880
881 </tr> <!-- end of entry -->
882
883
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700884 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
885 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
886 <td class="entry_type">
887 <span class="entry_type_name entry_type_name_enum">byte</span>
888
889
890
891 <ul class="entry_type_enum">
892 <li>
893 <span class="entry_type_enum_name">IDLE</span>
894 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
895 </li>
896 <li>
897 <span class="entry_type_enum_name">START</span>
898 <span class="entry_type_enum_notes">The precapture metering sequence
899 must be started.<wbr> The exact effect of the precapture
900 trigger depends on the current AE mode and
901 state.<wbr></span>
902 </li>
903 </ul>
904
905 </td> <!-- entry_type -->
906
907 <td class="entry_description">
908 Whether the HAL must trigger precapture
909 metering.<wbr>
910 </td>
911
912 <td class="entry_units">
913 </td>
914
915 <td class="entry_range">
916 </td>
917
918 <td class="entry_notes">
919 This entry is normally set to IDLE,<wbr> or is not
920 included at all in the request settings.<wbr> When included and
921 set to START,<wbr> the HAL must trigger the autoexposure
922 precapture metering sequence.<wbr> The effect of AE precapture
923 trigger depends on the current AE mode and state; see the
924 camera HAL device v3 header for details.<wbr>
925 </td>
926
927 <td class="entry_tags">
928 <ul class="entry_tags">
929 <li><a href="#tag_BC">BC</a></li>
930 </ul>
931 </td>
932
933 </tr> <!-- end of entry -->
934
935
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800936 <tr class="entry" id="controls_android.control.afMode">
937 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
938 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800939 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800940
941
942
943 <ul class="entry_type_enum">
944 <li>
945 <span class="entry_type_enum_name">OFF</span>
946 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
947 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
948 application</span>
949 </li>
950 <li>
951 <span class="entry_type_enum_name">AUTO</span>
952 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
953 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
954 is fixed focus In this mode,<wbr> the lens does not move
955 unless the autofocus trigger action is called.<wbr> When
956 that trigger is activated,<wbr> AF must transition to
957 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
958 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
959 position to default,<wbr> and sets the AF state to
960 INACTIVE.<wbr></span>
961 </li>
962 <li>
963 <span class="entry_type_enum_name">MACRO</span>
964 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
965 autofocus trigger action is called.<wbr> When that trigger
966 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
967 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
968 Triggering cancel AF resets the lens position to
969 default,<wbr> and sets the AF state to
970 INACTIVE.<wbr></span>
971 </li>
972 <li>
973 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
974 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
975 position continually to attempt to provide a
976 constantly-in-focus image stream.<wbr> The focusing behavior
977 should be suitable for good quality video recording;
978 typically this means slower focus movement and no
979 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
980 algorithm should start in INACTIVE state,<wbr> and then
981 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
982 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
983 algorithm should immediately transition into AF_<wbr>FOCUSED
984 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
985 position until a cancel AF trigger is received.<wbr> Once
986 cancel is received,<wbr> the algorithm should transition
987 back to INACTIVE and resume passive scan.<wbr> Note that
988 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
989 since an ongoing PASSIVE_<wbr>SCAN must immediately be
990 canceled.<wbr></span>
991 </li>
992 <li>
993 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
994 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
995 position continually to attempt to provide a
996 constantly-in-focus image stream.<wbr> The focusing behavior
997 should be suitable for still image capture; typically
998 this means focusing as fast as possible.<wbr> When the AF
999 trigger is not involved,<wbr> the AF algorithm should start
1000 in INACTIVE state,<wbr> and then transition into
1001 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
1002 as it attempts to maintain focus.<wbr> When the AF trigger
1003 is activated,<wbr> the algorithm should finish its
1004 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
1005 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
1006 the lens position until a cancel AF trigger is
1007 received.<wbr> When the AF cancel trigger is activated,<wbr> the
1008 algorithm should transition back to INACTIVE and then
1009 act as if it has just been started.<wbr></span>
1010 </li>
1011 <li>
1012 <span class="entry_type_enum_name">EDOF</span>
1013 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1014 trigger is ignored,<wbr> AF state should always be
1015 INACTIVE.<wbr></span>
1016 </li>
1017 </ul>
1018
1019 </td> <!-- entry_type -->
1020
1021 <td class="entry_description">
1022 Whether AF is currently enabled,<wbr> and what
1023 mode it is set to
1024 </td>
1025
1026 <td class="entry_units">
1027 </td>
1028
1029 <td class="entry_range">
1030 </td>
1031
1032 <td class="entry_notes">
1033 </td>
1034
1035 <td class="entry_tags">
1036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001037 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001038 </ul>
1039 </td>
1040
1041 </tr> <!-- end of entry -->
1042
1043
1044 <tr class="entry" id="controls_android.control.afRegions">
1045 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1046 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001047 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001048 <span class="entry_type_container">x</span>
1049
1050 <span class="entry_type_array">
1051 5 x area_count
1052 </span>
1053
1054
1055
1056 </td> <!-- entry_type -->
1057
1058 <td class="entry_description">
1059 List of areas to use for focus
1060 estimation
1061 </td>
1062
1063 <td class="entry_units">
1064 </td>
1065
1066 <td class="entry_range">
1067 </td>
1068
1069 <td class="entry_notes">
1070 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1071 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
1072 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
1073 active pixel array,<wbr> and
1074 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1075 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1076 bottom-right point of the active pixel array.<wbr> The weight
1077 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1078 no specific focus area needs to be used by the HAL.<wbr> If
1079 the focusing region is outside the current
1080 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1081 sections outside the region and output the used sections
1082 in the frame metadata
1083 </td>
1084
1085 <td class="entry_tags">
1086 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001087 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001088 </ul>
1089 </td>
1090
1091 </tr> <!-- end of entry -->
1092
1093
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001094 <tr class="entry" id="controls_android.control.afTrigger">
1095 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1096 <td class="entry_type">
1097 <span class="entry_type_name entry_type_name_enum">byte</span>
1098
1099
1100
1101 <ul class="entry_type_enum">
1102 <li>
1103 <span class="entry_type_enum_name">IDLE</span>
1104 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1105 </li>
1106 <li>
1107 <span class="entry_type_enum_name">START</span>
1108 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1109 </li>
1110 <li>
1111 <span class="entry_type_enum_name">CANCEL</span>
1112 <span class="entry_type_enum_notes">Autofocus must return to initial
1113 state,<wbr> and cancel any active trigger.<wbr></span>
1114 </li>
1115 </ul>
1116
1117 </td> <!-- entry_type -->
1118
1119 <td class="entry_description">
1120 Whether the HAL must trigger autofocus.<wbr>
1121 </td>
1122
1123 <td class="entry_units">
1124 </td>
1125
1126 <td class="entry_range">
1127 </td>
1128
1129 <td class="entry_notes">
1130 This entry is normally set to IDLE,<wbr> or is not
1131 included at all in the request settings.<wbr> When included and
1132 set to START,<wbr> the HAL must trigger the autofocus
1133 algorithm.<wbr> The effect of AF trigger depends on the current
1134 AF mode and state; see the camera HAL device v3 header for
1135 details.<wbr> When set to CANCEL,<wbr> the HAL must cancel any active
1136 trigger,<wbr> and return to initial AF state.<wbr>
1137 </td>
1138
1139 <td class="entry_tags">
1140 <ul class="entry_tags">
1141 <li><a href="#tag_BC">BC</a></li>
1142 </ul>
1143 </td>
1144
1145 </tr> <!-- end of entry -->
1146
1147
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001148 <tr class="entry" id="controls_android.control.awbLock">
1149 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1150 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001151 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001152
1153
1154
1155 <ul class="entry_type_enum">
1156 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001157 <span class="entry_type_enum_name">OFF</span>
1158 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1159 algorithm is free to update its parameters if in AUTO
1160 mode.<wbr></span>
1161 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001162 <li>
1163 <span class="entry_type_enum_name">ON</span>
1164 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1165 algorithm must not update the exposure and sensitivity
1166 parameters while the lock is active</span>
1167 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001168 </ul>
1169
1170 </td> <!-- entry_type -->
1171
1172 <td class="entry_description">
1173 Whether AWB is currently locked to its
1174 latest calculated values
1175 </td>
1176
1177 <td class="entry_units">
1178 </td>
1179
1180 <td class="entry_range">
1181 </td>
1182
1183 <td class="entry_notes">
1184 Note that AWB lock is only meaningful for AUTO
1185 mode; in other modes,<wbr> AWB is already fixed to a specific
1186 setting
1187 </td>
1188
1189 <td class="entry_tags">
1190 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001191 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001192 </ul>
1193 </td>
1194
1195 </tr> <!-- end of entry -->
1196
1197
1198 <tr class="entry" id="controls_android.control.awbMode">
1199 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1200 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001201 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001202
1203
1204
1205 <ul class="entry_type_enum">
1206 <li>
1207 <span class="entry_type_enum_name">OFF</span>
1208 </li>
1209 <li>
1210 <span class="entry_type_enum_name">AUTO</span>
1211 </li>
1212 <li>
1213 <span class="entry_type_enum_name">INCANDESCENT</span>
1214 </li>
1215 <li>
1216 <span class="entry_type_enum_name">FLUORESCENT</span>
1217 </li>
1218 <li>
1219 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1220 </li>
1221 <li>
1222 <span class="entry_type_enum_name">DAYLIGHT</span>
1223 </li>
1224 <li>
1225 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1226 </li>
1227 <li>
1228 <span class="entry_type_enum_name">TWILIGHT</span>
1229 </li>
1230 <li>
1231 <span class="entry_type_enum_name">SHADE</span>
1232 </li>
1233 </ul>
1234
1235 </td> <!-- entry_type -->
1236
1237 <td class="entry_description">
1238 Whether AWB is currently setting the color
1239 transform fields,<wbr> and what its illumination target
1240 is
1241 </td>
1242
1243 <td class="entry_units">
1244 </td>
1245
1246 <td class="entry_range">
1247 </td>
1248
1249 <td class="entry_notes">
1250 [BC - AWB lock,<wbr>AWB modes]
1251 </td>
1252
1253 <td class="entry_tags">
1254 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001255 <li><a href="#tag_BC">BC</a></li>
1256 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001257 </ul>
1258 </td>
1259
1260 </tr> <!-- end of entry -->
1261
1262
1263 <tr class="entry" id="controls_android.control.awbRegions">
1264 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1265 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001266 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001267 <span class="entry_type_container">x</span>
1268
1269 <span class="entry_type_array">
1270 5 x area_count
1271 </span>
1272
1273
1274
1275 </td> <!-- entry_type -->
1276
1277 <td class="entry_description">
1278 List of areas to use for illuminant
1279 estimation
1280 </td>
1281
1282 <td class="entry_units">
1283 </td>
1284
1285 <td class="entry_range">
1286 </td>
1287
1288 <td class="entry_notes">
1289 Only used in AUTO mode.<wbr> Each area is a rectangle
1290 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
1291 coordinate system is based on the active pixel array,<wbr>
1292 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
1293 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1294 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1295 bottom-right point of the active pixel array.<wbr> The weight
1296 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1297 no specific metering area needs to be used by the HAL.<wbr> If
1298 the metering region is outside the current
1299 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1300 sections outside the region and output the used sections
1301 in the frame metadata
1302 </td>
1303
1304 <td class="entry_tags">
1305 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001306 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001307 </ul>
1308 </td>
1309
1310 </tr> <!-- end of entry -->
1311
1312
1313 <tr class="entry" id="controls_android.control.captureIntent">
1314 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1315 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001316 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001317
1318
1319
1320 <ul class="entry_type_enum">
1321 <li>
1322 <span class="entry_type_enum_name">CUSTOM</span>
1323 <span class="entry_type_enum_notes">This request doesn't fall into the other
1324 categories.<wbr> Default to preview-like
1325 behavior.<wbr></span>
1326 </li>
1327 <li>
1328 <span class="entry_type_enum_name">PREVIEW</span>
1329 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1330 precapture trigger may be used to start off a metering
1331 w/<wbr>flash sequence</span>
1332 </li>
1333 <li>
1334 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1335 <span class="entry_type_enum_notes">This request is for a still capture-type
1336 usecase.<wbr></span>
1337 </li>
1338 <li>
1339 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1340 <span class="entry_type_enum_notes">This request is for a video recording
1341 usecase.<wbr></span>
1342 </li>
1343 <li>
1344 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1345 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1346 image while recording video) usecase</span>
1347 </li>
1348 <li>
1349 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1350 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1351 application will stream full-resolution images and
1352 reprocess one or several later for a final
1353 capture</span>
1354 </li>
1355 </ul>
1356
1357 </td> <!-- entry_type -->
1358
1359 <td class="entry_description">
1360 Information to 3A routines about the purpose
1361 of this capture,<wbr> to help decide optimal 3A
1362 strategy
1363 </td>
1364
1365 <td class="entry_units">
1366 </td>
1367
1368 <td class="entry_range">
1369 all must be supported
1370 </td>
1371
1372 <td class="entry_notes">
1373 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1374 </td>
1375
1376 <td class="entry_tags">
1377 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001378 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001379 </ul>
1380 </td>
1381
1382 </tr> <!-- end of entry -->
1383
1384
1385 <tr class="entry" id="controls_android.control.effectMode">
1386 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001388 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001389
1390
1391
1392 <ul class="entry_type_enum">
1393 <li>
1394 <span class="entry_type_enum_name">OFF</span>
1395 </li>
1396 <li>
1397 <span class="entry_type_enum_name">MONO</span>
1398 <span class="entry_type_enum_optional">optional</span>
1399 </li>
1400 <li>
1401 <span class="entry_type_enum_name">NEGATIVE</span>
1402 <span class="entry_type_enum_optional">optional</span>
1403 </li>
1404 <li>
1405 <span class="entry_type_enum_name">SOLARIZE</span>
1406 <span class="entry_type_enum_optional">optional</span>
1407 </li>
1408 <li>
1409 <span class="entry_type_enum_name">SEPIA</span>
1410 <span class="entry_type_enum_optional">optional</span>
1411 </li>
1412 <li>
1413 <span class="entry_type_enum_name">POSTERIZE</span>
1414 <span class="entry_type_enum_optional">optional</span>
1415 </li>
1416 <li>
1417 <span class="entry_type_enum_name">WHITEBOARD</span>
1418 <span class="entry_type_enum_optional">optional</span>
1419 </li>
1420 <li>
1421 <span class="entry_type_enum_name">BLACKBOARD</span>
1422 <span class="entry_type_enum_optional">optional</span>
1423 </li>
1424 <li>
1425 <span class="entry_type_enum_name">AQUA</span>
1426 <span class="entry_type_enum_optional">optional</span>
1427 </li>
1428 </ul>
1429
1430 </td> <!-- entry_type -->
1431
1432 <td class="entry_description">
1433 Whether any special color effect is in use.<wbr>
1434 Only used if android.<wbr>control.<wbr>mode != OFF
1435 </td>
1436
1437 <td class="entry_units">
1438 </td>
1439
1440 <td class="entry_range">
1441 android.<wbr>control.<wbr>available<wbr>Effects
1442 </td>
1443
1444 <td class="entry_notes">
1445 </td>
1446
1447 <td class="entry_tags">
1448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001449 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001450 </ul>
1451 </td>
1452
1453 </tr> <!-- end of entry -->
1454
1455
1456 <tr class="entry" id="controls_android.control.mode">
1457 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001459 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001460
1461
1462
1463 <ul class="entry_type_enum">
1464 <li>
1465 <span class="entry_type_enum_name">OFF</span>
1466 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1467 routines are disabled,<wbr> no other settings in
1468 android.<wbr>control.<wbr>* have any effect</span>
1469 </li>
1470 <li>
1471 <span class="entry_type_enum_name">AUTO</span>
1472 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1473 Manual control of capture parameters is disabled.<wbr> All
1474 controls in android.<wbr>control.<wbr>* besides sceneMode take
1475 effect</span>
1476 </li>
1477 <li>
1478 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1479 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1480 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1481 controls; the HAL must ignore those settings while
1482 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1483 scene mode).<wbr> Other control entries are still active.<wbr>
1484 This setting can only be used if availableSceneModes !=
1485 UNSUPPORTED</span>
1486 </li>
1487 </ul>
1488
1489 </td> <!-- entry_type -->
1490
1491 <td class="entry_description">
1492 Overall mode of 3A control
1493 routines
1494 </td>
1495
1496 <td class="entry_units">
1497 </td>
1498
1499 <td class="entry_range">
1500 all must be supported
1501 </td>
1502
1503 <td class="entry_notes">
1504 </td>
1505
1506 <td class="entry_tags">
1507 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001508 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001509 </ul>
1510 </td>
1511
1512 </tr> <!-- end of entry -->
1513
1514
1515 <tr class="entry" id="controls_android.control.sceneMode">
1516 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1517 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001518 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001519
1520
1521
1522 <ul class="entry_type_enum">
1523 <li>
1524 <span class="entry_type_enum_name">UNSUPPORTED</span>
1525 <span class="entry_type_enum_value">0</span>
1526 </li>
1527 <li>
1528 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1529 <span class="entry_type_enum_notes">if face detection support exists Use face
1530 detection data to drive 3A routines.<wbr> If face detection
1531 statistics are disabled,<wbr> should still operate correctly
1532 (but not return face detection statistics to the
1533 framework).<wbr> Unlike the other scene modes,<wbr> aeMode,<wbr>
1534 awbMode,<wbr> and afMode remain active when FACE_<wbr>PRIORITY is
1535 set.<wbr> This is due to compatibility concerns with the old
1536 camera API</span>
1537 </li>
1538 <li>
1539 <span class="entry_type_enum_name">ACTION</span>
1540 <span class="entry_type_enum_optional">optional</span>
1541 </li>
1542 <li>
1543 <span class="entry_type_enum_name">PORTRAIT</span>
1544 <span class="entry_type_enum_optional">optional</span>
1545 </li>
1546 <li>
1547 <span class="entry_type_enum_name">LANDSCAPE</span>
1548 <span class="entry_type_enum_optional">optional</span>
1549 </li>
1550 <li>
1551 <span class="entry_type_enum_name">NIGHT</span>
1552 <span class="entry_type_enum_optional">optional</span>
1553 </li>
1554 <li>
1555 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1556 <span class="entry_type_enum_optional">optional</span>
1557 </li>
1558 <li>
1559 <span class="entry_type_enum_name">THEATRE</span>
1560 <span class="entry_type_enum_optional">optional</span>
1561 </li>
1562 <li>
1563 <span class="entry_type_enum_name">BEACH</span>
1564 <span class="entry_type_enum_optional">optional</span>
1565 </li>
1566 <li>
1567 <span class="entry_type_enum_name">SNOW</span>
1568 <span class="entry_type_enum_optional">optional</span>
1569 </li>
1570 <li>
1571 <span class="entry_type_enum_name">SUNSET</span>
1572 <span class="entry_type_enum_optional">optional</span>
1573 </li>
1574 <li>
1575 <span class="entry_type_enum_name">STEADYPHOTO</span>
1576 <span class="entry_type_enum_optional">optional</span>
1577 </li>
1578 <li>
1579 <span class="entry_type_enum_name">FIREWORKS</span>
1580 <span class="entry_type_enum_optional">optional</span>
1581 </li>
1582 <li>
1583 <span class="entry_type_enum_name">SPORTS</span>
1584 <span class="entry_type_enum_optional">optional</span>
1585 </li>
1586 <li>
1587 <span class="entry_type_enum_name">PARTY</span>
1588 <span class="entry_type_enum_optional">optional</span>
1589 </li>
1590 <li>
1591 <span class="entry_type_enum_name">CANDLELIGHT</span>
1592 <span class="entry_type_enum_optional">optional</span>
1593 </li>
1594 <li>
1595 <span class="entry_type_enum_name">BARCODE</span>
1596 <span class="entry_type_enum_optional">optional</span>
1597 </li>
1598 </ul>
1599
1600 </td> <!-- entry_type -->
1601
1602 <td class="entry_description">
1603 Which scene mode is active when
1604 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
1605 </td>
1606
1607 <td class="entry_units">
1608 </td>
1609
1610 <td class="entry_range">
1611 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
1612 </td>
1613
1614 <td class="entry_notes">
1615 </td>
1616
1617 <td class="entry_tags">
1618 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001619 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001620 </ul>
1621 </td>
1622
1623 </tr> <!-- end of entry -->
1624
1625
1626 <tr class="entry" id="controls_android.control.videoStabilizationMode">
1627 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
1628 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001629 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001630
1631
1632
1633 <ul class="entry_type_enum">
1634 <li>
1635 <span class="entry_type_enum_name">OFF</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">ON</span>
1639 </li>
1640 </ul>
1641
1642 </td> <!-- entry_type -->
1643
1644 <td class="entry_description">
1645 Whether video stabilization is
1646 active
1647 </td>
1648
1649 <td class="entry_units">
1650 </td>
1651
1652 <td class="entry_range">
1653 </td>
1654
1655 <td class="entry_notes">
1656 If enabled,<wbr> video stabilization can modify the
1657 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
1658 stabilized
1659 </td>
1660
1661 <td class="entry_tags">
1662 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001663 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001664 </ul>
1665 </td>
1666
1667 </tr> <!-- end of entry -->
1668
1669
1670
1671 <!-- end of kind -->
1672 </tbody>
1673 <tr><td colspan="7" class="kind">static</td></tr>
1674
1675 <thead>
1676 <tr>
1677 <th class="th_name">Property Name</th>
1678 <th class="th_type">Type</th>
1679 <th class="th_description">Description</th>
1680 <th class="th_units">Units</th>
1681 <th class="th_range">Range</th>
1682 <th class="th_notes">Notes</th>
1683 <th class="th_tags">Tags</th>
1684 </tr>
1685 </thead>
1686
1687 <tbody>
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
1699 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
1700 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001701 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001702 <span class="entry_type_container">x</span>
1703
1704 <span class="entry_type_array">
1705 n
1706 </span>
1707
1708 <div class="entry_type_notes">list of enums</div>
1709
1710
1711 </td> <!-- entry_type -->
1712
1713 <td class="entry_description">
1714 Which set of antibanding modes are
1715 supported
1716 </td>
1717
1718 <td class="entry_units">
1719 </td>
1720
1721 <td class="entry_range">
1722 </td>
1723
1724 <td class="entry_notes">
1725 </td>
1726
1727 <td class="entry_tags">
1728 </td>
1729
1730 </tr> <!-- end of entry -->
1731
1732
1733 <tr class="entry" id="static_android.control.aeAvailableModes">
1734 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
1735 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001736 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001737 <span class="entry_type_container">x</span>
1738
1739 <span class="entry_type_array">
1740 n
1741 </span>
1742
1743 <div class="entry_type_notes">list of enums</div>
1744
1745
1746 </td> <!-- entry_type -->
1747
1748 <td class="entry_description">
1749 Which subset of AE modes is
1750 supported
1751 </td>
1752
1753 <td class="entry_units">
1754 </td>
1755
1756 <td class="entry_range">
1757 OFF,<wbr> ON must be supported.<wbr>
1758 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
1759 unit is available
1760 </td>
1761
1762 <td class="entry_notes">
1763 </td>
1764
1765 <td class="entry_tags">
1766 </td>
1767
1768 </tr> <!-- end of entry -->
1769
1770
1771 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
1772 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
1773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001774 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001775 <span class="entry_type_container">x</span>
1776
1777 <span class="entry_type_array">
1778 2 x n
1779 </span>
1780
1781 <div class="entry_type_notes">list of pairs of frame rates</div>
1782
1783
1784 </td> <!-- entry_type -->
1785
1786 <td class="entry_description">
1787 List of frame rate ranges supported by the
1788 AE algorithm/<wbr>hardware
1789 </td>
1790
1791 <td class="entry_units">
1792 </td>
1793
1794 <td class="entry_range">
1795 </td>
1796
1797 <td class="entry_notes">
1798 </td>
1799
1800 <td class="entry_tags">
1801 </td>
1802
1803 </tr> <!-- end of entry -->
1804
1805
1806 <tr class="entry" id="static_android.control.aeCompensationRange">
1807 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
1808 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001809 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001810 <span class="entry_type_container">x</span>
1811
1812 <span class="entry_type_array">
1813 2
1814 </span>
1815
1816
1817
1818 </td> <!-- entry_type -->
1819
1820 <td class="entry_description">
1821 Maximum and minimum exposure compensation
1822 setting,<wbr> in counts of
1823 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
1824 </td>
1825
1826 <td class="entry_units">
1827 </td>
1828
1829 <td class="entry_range">
1830 At least (-2,<wbr>2)/<wbr>(exp compensation step
1831 size)
1832 </td>
1833
1834 <td class="entry_notes">
1835 </td>
1836
1837 <td class="entry_tags">
1838 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001839 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001840 </ul>
1841 </td>
1842
1843 </tr> <!-- end of entry -->
1844
1845
1846 <tr class="entry" id="static_android.control.aeCompensationStep">
1847 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
1848 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001849 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001850
1851
1852
1853
1854 </td> <!-- entry_type -->
1855
1856 <td class="entry_description">
1857 Smallest step by which exposure compensation
1858 can be changed
1859 </td>
1860
1861 <td class="entry_units">
1862 </td>
1863
1864 <td class="entry_range">
1865 <= 1/<wbr>2
1866 </td>
1867
1868 <td class="entry_notes">
1869 </td>
1870
1871 <td class="entry_tags">
1872 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001873 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001874 </ul>
1875 </td>
1876
1877 </tr> <!-- end of entry -->
1878
1879
1880 <tr class="entry" id="static_android.control.afAvailableModes">
1881 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
1882 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001883 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001884 <span class="entry_type_container">x</span>
1885
1886 <span class="entry_type_array">
1887 n
1888 </span>
1889
1890 <div class="entry_type_notes">List of enums</div>
1891
1892
1893 </td> <!-- entry_type -->
1894
1895 <td class="entry_description">
1896 List of AF modes that can be
1897 selected
1898 </td>
1899
1900 <td class="entry_units">
1901 </td>
1902
1903 <td class="entry_range">
1904 OFF must be included.<wbr> AUTO must be supported if
1905 lens allows for changing focus
1906 </td>
1907
1908 <td class="entry_notes">
1909 </td>
1910
1911 <td class="entry_tags">
1912 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001913 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001914 </ul>
1915 </td>
1916
1917 </tr> <!-- end of entry -->
1918
1919
1920 <tr class="entry" id="static_android.control.availableEffects">
1921 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
1922 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001923 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001924 <span class="entry_type_container">x</span>
1925
1926 <span class="entry_type_array">
1927 n
1928 </span>
1929
1930 <div class="entry_type_notes">list of enums</div>
1931
1932
1933 </td> <!-- entry_type -->
1934
1935 <td class="entry_description">
1936 what subset of the full color effect enum
1937 list is supported
1938 </td>
1939
1940 <td class="entry_units">
1941 </td>
1942
1943 <td class="entry_range">
1944 OFF must be listed
1945 </td>
1946
1947 <td class="entry_notes">
1948 </td>
1949
1950 <td class="entry_tags">
1951 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001952 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001953 </ul>
1954 </td>
1955
1956 </tr> <!-- end of entry -->
1957
1958
1959 <tr class="entry" id="static_android.control.availableSceneModes">
1960 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
1961 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001962 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001963 <span class="entry_type_container">x</span>
1964
1965 <span class="entry_type_array">
1966 n
1967 </span>
1968
1969 <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>
1970
1971
1972 </td> <!-- entry_type -->
1973
1974 <td class="entry_description">
1975 what subset of the scene mode enum list is
1976 supported.<wbr>
1977 </td>
1978
1979 <td class="entry_units">
1980 </td>
1981
1982 <td class="entry_range">
1983 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
1984 detection is supported
1985 </td>
1986
1987 <td class="entry_notes">
1988 </td>
1989
1990 <td class="entry_tags">
1991 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001992 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001993 </ul>
1994 </td>
1995
1996 </tr> <!-- end of entry -->
1997
1998
1999 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2000 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2001 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002002 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002003 <span class="entry_type_container">x</span>
2004
2005 <span class="entry_type_array">
2006 n
2007 </span>
2008
2009 <div class="entry_type_notes">List of enums.<wbr></div>
2010
2011
2012 </td> <!-- entry_type -->
2013
2014 <td class="entry_description">
2015 List of video stabilization modes that can
2016 be supported
2017 </td>
2018
2019 <td class="entry_units">
2020 </td>
2021
2022 <td class="entry_range">
2023 OFF must be included
2024 </td>
2025
2026 <td class="entry_notes">
2027 </td>
2028
2029 <td class="entry_tags">
2030 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002031 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002032 </ul>
2033 </td>
2034
2035 </tr> <!-- end of entry -->
2036
2037
2038 <tr class="entry" id="static_android.control.awbAvailableModes">
2039 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2040 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002041 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002042 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002043
Alex Raya4251d92013-04-30 16:43:44 -07002044 <span class="entry_type_array">
2045 n
2046 </span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002047
Alex Raya4251d92013-04-30 16:43:44 -07002048 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002049
2050
2051 </td> <!-- entry_type -->
2052
2053 <td class="entry_description">
2054 </td>
2055
2056 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002057 </td>
2058
2059 <td class="entry_range">
2060 OFF,<wbr> AUTO must be included
2061 </td>
2062
2063 <td class="entry_notes">
2064 </td>
2065
2066 <td class="entry_tags">
2067 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002068 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002069 </ul>
2070 </td>
2071
2072 </tr> <!-- end of entry -->
2073
2074
2075 <tr class="entry" id="static_android.control.maxRegions">
2076 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2077 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002078 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002079
2080
2081
2082
2083 </td> <!-- entry_type -->
2084
2085 <td class="entry_description">
2086 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2087 regions can be listed for metering?
2088 </td>
2089
2090 <td class="entry_units">
2091 </td>
2092
2093 <td class="entry_range">
2094 >= 1
2095 </td>
2096
2097 <td class="entry_notes">
2098 </td>
2099
2100 <td class="entry_tags">
2101 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002102 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002103 </ul>
2104 </td>
2105
2106 </tr> <!-- end of entry -->
2107
2108
2109 <tr class="entry" id="static_android.control.sceneModeOverrides">
2110 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002112 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002113 <span class="entry_type_container">x</span>
2114
2115 <span class="entry_type_array">
2116 3 x lengthavailablescenemodes
2117 </span>
2118
2119
2120
2121 </td> <!-- entry_type -->
2122
2123 <td class="entry_description">
2124 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2125 each available scene mode
2126 </td>
2127
2128 <td class="entry_units">
2129 </td>
2130
2131 <td class="entry_range">
2132 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2133 awbMode,<wbr> and afMode that the HAL wants to use for that
2134 scene mode.<wbr> For each entry,<wbr> the order is {aeMode,<wbr>
2135 awbMode,<wbr> afMode} in order of increasing index
2136 </td>
2137
2138 <td class="entry_notes">
2139 When a scene mode is enabled,<wbr> the HAL is expected
2140 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
2141 preferred settings for that scene mode.<wbr> To simplify
2142 communication with old camera API applications,<wbr> the
2143 service wants this override list in the static metadata.<wbr>
2144 The order of this list matches that of
2145 availableSceneModes,<wbr> with 3 entires for each scene mode.<wbr>
2146 The overrides listed for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are
2147 ignored,<wbr> since for that mode,<wbr> the application-set aeMode,<wbr>
2148 awbMode,<wbr> and afMode are used instead,<wbr> like they are when
2149 android.<wbr>control.<wbr>mode is AUTO.<wbr> It is recommended that for
2150 FACE_<wbr>PRIORITY,<wbr> the overrides should be set to 0.<wbr> As an
2151 example,<wbr> if availableSceneModes is { FACE_<wbr>PRIORITY,<wbr>
2152 ACTION,<wbr> NIGHT },<wbr> then the service expects this field to
2153 have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2154 AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr> INCANDESCENT,<wbr>
2155 AUTO }
2156 </td>
2157
2158 <td class="entry_tags">
2159 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002160 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002161 </ul>
2162 </td>
2163
2164 </tr> <!-- end of entry -->
2165
2166
2167
2168 <!-- end of kind -->
2169 </tbody>
2170 <tr><td colspan="7" class="kind">dynamic</td></tr>
2171
2172 <thead>
2173 <tr>
2174 <th class="th_name">Property Name</th>
2175 <th class="th_type">Type</th>
2176 <th class="th_description">Description</th>
2177 <th class="th_units">Units</th>
2178 <th class="th_range">Range</th>
2179 <th class="th_notes">Notes</th>
2180 <th class="th_tags">Tags</th>
2181 </tr>
2182 </thead>
2183
2184 <tbody>
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2196 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2197 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002198 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002199
2200
2201
2202
2203 </td> <!-- entry_type -->
2204
2205 <td class="entry_description">
2206 The ID sent with the latest
2207 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2208 </td>
2209
2210 <td class="entry_units">
2211 </td>
2212
2213 <td class="entry_range">
2214 </td>
2215
2216 <td class="entry_notes">
2217 Must be 0 if no
2218 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2219 by HAL.<wbr> Always updated even if AE algorithm ignores the
2220 trigger
2221 </td>
2222
2223 <td class="entry_tags">
2224 </td>
2225
2226 </tr> <!-- end of entry -->
2227
2228
2229 <tr class="entry" id="dynamic_android.control.aeRegions">
2230 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2231 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002232 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002233 <span class="entry_type_container">x</span>
2234
2235 <span class="entry_type_array">
2236 5 x area_count
2237 </span>
2238
2239
2240
2241 </td> <!-- entry_type -->
2242
2243 <td class="entry_description">
2244 List of areas to use for
2245 metering
2246 </td>
2247
2248 <td class="entry_units">
2249 </td>
2250
2251 <td class="entry_range">
2252 </td>
2253
2254 <td class="entry_notes">
2255 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2256 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2257 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2258 active pixel array,<wbr> and
2259 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2260 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2261 bottom-right point of the active pixel array.<wbr> The weight
2262 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2263 no specific metering area needs to be used by the HAL.<wbr> If
2264 the metering region is outside the current
2265 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2266 sections outside the region and output the used sections
2267 in the frame metadata
2268 </td>
2269
2270 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002271 <ul class="entry_tags">
2272 <li><a href="#tag_BC">BC</a></li>
2273 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002274 </td>
2275
2276 </tr> <!-- end of entry -->
2277
2278
2279 <tr class="entry" id="dynamic_android.control.aeState">
2280 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2281 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002282 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002283
2284
2285
2286 <ul class="entry_type_enum">
2287 <li>
2288 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002289 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2290 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002291 </li>
2292 <li>
2293 <span class="entry_type_enum_name">SEARCHING</span>
2294 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2295 for the current scene</span>
2296 </li>
2297 <li>
2298 <span class="entry_type_enum_name">CONVERGED</span>
2299 <span class="entry_type_enum_notes">AE has a good set of control values for the
2300 current scene</span>
2301 </li>
2302 <li>
2303 <span class="entry_type_enum_name">LOCKED</span>
2304 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2305 LOCKED)</span>
2306 </li>
2307 <li>
2308 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2309 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2310 needs to be fired for good quality still
2311 capture</span>
2312 </li>
2313 <li>
2314 <span class="entry_type_enum_name">PRECAPTURE</span>
2315 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2316 (through the
2317 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2318 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2319 completes,<wbr> AE will transition to CONVERGED or
2320 FLASH_<wbr>REQUIRED as appropriate</span>
2321 </li>
2322 </ul>
2323
2324 </td> <!-- entry_type -->
2325
2326 <td class="entry_description">
2327 Current state of AE algorithm
2328 </td>
2329
2330 <td class="entry_units">
2331 </td>
2332
2333 <td class="entry_range">
2334 </td>
2335
2336 <td class="entry_notes">
2337 Whenever the AE algorithm state changes,<wbr> a
2338 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2339 notification callback is registered.<wbr>
2340 </td>
2341
2342 <td class="entry_tags">
2343 </td>
2344
2345 </tr> <!-- end of entry -->
2346
2347
2348 <tr class="entry" id="dynamic_android.control.afMode">
2349 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2350 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002351 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002352
2353
2354
2355 <ul class="entry_type_enum">
2356 <li>
2357 <span class="entry_type_enum_name">OFF</span>
2358 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
2359 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
2360 application</span>
2361 </li>
2362 <li>
2363 <span class="entry_type_enum_name">AUTO</span>
2364 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
2365 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2366 is fixed focus In this mode,<wbr> the lens does not move
2367 unless the autofocus trigger action is called.<wbr> When
2368 that trigger is activated,<wbr> AF must transition to
2369 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
2370 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2371 position to default,<wbr> and sets the AF state to
2372 INACTIVE.<wbr></span>
2373 </li>
2374 <li>
2375 <span class="entry_type_enum_name">MACRO</span>
2376 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
2377 autofocus trigger action is called.<wbr> When that trigger
2378 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
2379 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
2380 Triggering cancel AF resets the lens position to
2381 default,<wbr> and sets the AF state to
2382 INACTIVE.<wbr></span>
2383 </li>
2384 <li>
2385 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2386 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2387 position continually to attempt to provide a
2388 constantly-in-focus image stream.<wbr> The focusing behavior
2389 should be suitable for good quality video recording;
2390 typically this means slower focus movement and no
2391 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
2392 algorithm should start in INACTIVE state,<wbr> and then
2393 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
2394 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
2395 algorithm should immediately transition into AF_<wbr>FOCUSED
2396 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
2397 position until a cancel AF trigger is received.<wbr> Once
2398 cancel is received,<wbr> the algorithm should transition
2399 back to INACTIVE and resume passive scan.<wbr> Note that
2400 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
2401 since an ongoing PASSIVE_<wbr>SCAN must immediately be
2402 canceled.<wbr></span>
2403 </li>
2404 <li>
2405 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2406 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2407 position continually to attempt to provide a
2408 constantly-in-focus image stream.<wbr> The focusing behavior
2409 should be suitable for still image capture; typically
2410 this means focusing as fast as possible.<wbr> When the AF
2411 trigger is not involved,<wbr> the AF algorithm should start
2412 in INACTIVE state,<wbr> and then transition into
2413 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
2414 as it attempts to maintain focus.<wbr> When the AF trigger
2415 is activated,<wbr> the algorithm should finish its
2416 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
2417 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
2418 the lens position until a cancel AF trigger is
2419 received.<wbr> When the AF cancel trigger is activated,<wbr> the
2420 algorithm should transition back to INACTIVE and then
2421 act as if it has just been started.<wbr></span>
2422 </li>
2423 <li>
2424 <span class="entry_type_enum_name">EDOF</span>
2425 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2426 trigger is ignored,<wbr> AF state should always be
2427 INACTIVE.<wbr></span>
2428 </li>
2429 </ul>
2430
2431 </td> <!-- entry_type -->
2432
2433 <td class="entry_description">
2434 Whether AF is currently enabled,<wbr> and what
2435 mode it is set to
2436 </td>
2437
2438 <td class="entry_units">
2439 </td>
2440
2441 <td class="entry_range">
2442 </td>
2443
2444 <td class="entry_notes">
2445 </td>
2446
2447 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002448 <ul class="entry_tags">
2449 <li><a href="#tag_BC">BC</a></li>
2450 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002451 </td>
2452
2453 </tr> <!-- end of entry -->
2454
2455
2456 <tr class="entry" id="dynamic_android.control.afRegions">
2457 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002459 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002460 <span class="entry_type_container">x</span>
2461
2462 <span class="entry_type_array">
2463 5 x area_count
2464 </span>
2465
2466
2467
2468 </td> <!-- entry_type -->
2469
2470 <td class="entry_description">
2471 List of areas to use for focus
2472 estimation
2473 </td>
2474
2475 <td class="entry_units">
2476 </td>
2477
2478 <td class="entry_range">
2479 </td>
2480
2481 <td class="entry_notes">
2482 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2483 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2484 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2485 active pixel array,<wbr> and
2486 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2487 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2488 bottom-right point of the active pixel array.<wbr> The weight
2489 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2490 no specific focus area needs to be used by the HAL.<wbr> If
2491 the focusing region is outside the current
2492 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2493 sections outside the region and output the used sections
2494 in the frame metadata
2495 </td>
2496
2497 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002498 <ul class="entry_tags">
2499 <li><a href="#tag_BC">BC</a></li>
2500 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002501 </td>
2502
2503 </tr> <!-- end of entry -->
2504
2505
2506 <tr class="entry" id="dynamic_android.control.afState">
2507 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2508 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002509 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002510
2511
2512
2513 <ul class="entry_type_enum">
2514 <li>
2515 <span class="entry_type_enum_name">INACTIVE</span>
2516 <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 -07002517 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2518 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002519 </li>
2520 <li>
2521 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2522 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2523 currently doing an AF scan initiated by a continuous
2524 autofocus mode</span>
2525 </li>
2526 <li>
2527 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2528 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2529 believes it is in focus,<wbr> but may restart scanning at
2530 any time.<wbr></span>
2531 </li>
2532 <li>
2533 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2534 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2535 an AF scan because it was triggered by AF
2536 trigger</span>
2537 </li>
2538 <li>
2539 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2540 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2541 believes it is focused correctly and is
2542 locked</span>
2543 </li>
2544 <li>
2545 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2546 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2547 failed to focus successfully and is
2548 locked</span>
2549 </li>
2550 </ul>
2551
2552 </td> <!-- entry_type -->
2553
2554 <td class="entry_description">
2555 Current state of AF algorithm
2556 </td>
2557
2558 <td class="entry_units">
2559 </td>
2560
2561 <td class="entry_range">
2562 </td>
2563
2564 <td class="entry_notes">
2565 Whenever the AF algorithm state changes,<wbr> a
2566 MSG_<wbr>AUTOFOCUS notification must be send if a notification
2567 callback is registered.<wbr>
2568 </td>
2569
2570 <td class="entry_tags">
2571 </td>
2572
2573 </tr> <!-- end of entry -->
2574
2575
2576 <tr class="entry" id="dynamic_android.control.afTriggerId">
2577 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
2578 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002579 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002580
2581
2582
2583
2584 </td> <!-- entry_type -->
2585
2586 <td class="entry_description">
2587 The ID sent with the latest
2588 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
2589 </td>
2590
2591 <td class="entry_units">
2592 </td>
2593
2594 <td class="entry_range">
2595 </td>
2596
2597 <td class="entry_notes">
2598 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
2599 received yet by HAL.<wbr> Always updated even if AF algorithm
2600 ignores the trigger
2601 </td>
2602
2603 <td class="entry_tags">
2604 </td>
2605
2606 </tr> <!-- end of entry -->
2607
2608
2609 <tr class="entry" id="dynamic_android.control.awbMode">
2610 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
2611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002612 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002613
2614
2615
2616 <ul class="entry_type_enum">
2617 <li>
2618 <span class="entry_type_enum_name">OFF</span>
2619 </li>
2620 <li>
2621 <span class="entry_type_enum_name">AUTO</span>
2622 </li>
2623 <li>
2624 <span class="entry_type_enum_name">INCANDESCENT</span>
2625 </li>
2626 <li>
2627 <span class="entry_type_enum_name">FLUORESCENT</span>
2628 </li>
2629 <li>
2630 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
2631 </li>
2632 <li>
2633 <span class="entry_type_enum_name">DAYLIGHT</span>
2634 </li>
2635 <li>
2636 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
2637 </li>
2638 <li>
2639 <span class="entry_type_enum_name">TWILIGHT</span>
2640 </li>
2641 <li>
2642 <span class="entry_type_enum_name">SHADE</span>
2643 </li>
2644 </ul>
2645
2646 </td> <!-- entry_type -->
2647
2648 <td class="entry_description">
2649 Whether AWB is currently setting the color
2650 transform fields,<wbr> and what its illumination target
2651 is
2652 </td>
2653
2654 <td class="entry_units">
2655 </td>
2656
2657 <td class="entry_range">
2658 </td>
2659
2660 <td class="entry_notes">
2661 [BC - AWB lock,<wbr>AWB modes]
2662 </td>
2663
2664 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002665 <ul class="entry_tags">
2666 <li><a href="#tag_BC">BC</a></li>
2667 <li><a href="#tag_AWB">AWB</a></li>
2668 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002669 </td>
2670
2671 </tr> <!-- end of entry -->
2672
2673
2674 <tr class="entry" id="dynamic_android.control.awbRegions">
2675 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
2676 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002677 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002678 <span class="entry_type_container">x</span>
2679
2680 <span class="entry_type_array">
2681 5 x area_count
2682 </span>
2683
2684
2685
2686 </td> <!-- entry_type -->
2687
2688 <td class="entry_description">
2689 List of areas to use for illuminant
2690 estimation
2691 </td>
2692
2693 <td class="entry_units">
2694 </td>
2695
2696 <td class="entry_range">
2697 </td>
2698
2699 <td class="entry_notes">
2700 Only used in AUTO mode.<wbr> Each area is a rectangle
2701 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
2702 coordinate system is based on the active pixel array,<wbr>
2703 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
2704 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2705 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2706 bottom-right point of the active pixel array.<wbr> The weight
2707 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2708 no specific metering area needs to be used by the HAL.<wbr> If
2709 the metering region is outside the current
2710 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2711 sections outside the region and output the used sections
2712 in the frame metadata
2713 </td>
2714
2715 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002716 <ul class="entry_tags">
2717 <li><a href="#tag_BC">BC</a></li>
2718 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002719 </td>
2720
2721 </tr> <!-- end of entry -->
2722
2723
2724 <tr class="entry" id="dynamic_android.control.awbState">
2725 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
2726 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002727 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002728
2729
2730
2731 <ul class="entry_type_enum">
2732 <li>
2733 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002734 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
2735 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002736 </li>
2737 <li>
2738 <span class="entry_type_enum_name">SEARCHING</span>
2739 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
2740 values for the current scene</span>
2741 </li>
2742 <li>
2743 <span class="entry_type_enum_name">CONVERGED</span>
2744 <span class="entry_type_enum_notes">AWB has a good set of control values for the
2745 current scene</span>
2746 </li>
2747 <li>
2748 <span class="entry_type_enum_name">LOCKED</span>
2749 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2750 LOCKED)</span>
2751 </li>
2752 </ul>
2753
2754 </td> <!-- entry_type -->
2755
2756 <td class="entry_description">
2757 Current state of AWB algorithm
2758 </td>
2759
2760 <td class="entry_units">
2761 </td>
2762
2763 <td class="entry_range">
2764 </td>
2765
2766 <td class="entry_notes">
2767 Whenever the AWB algorithm state changes,<wbr> a
2768 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
2769 notification callback is registered.<wbr>
2770 </td>
2771
2772 <td class="entry_tags">
2773 </td>
2774
2775 </tr> <!-- end of entry -->
2776
2777
2778 <tr class="entry" id="dynamic_android.control.mode">
2779 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
2780 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002781 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002782
2783
2784
2785 <ul class="entry_type_enum">
2786 <li>
2787 <span class="entry_type_enum_name">OFF</span>
2788 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
2789 routines are disabled,<wbr> no other settings in
2790 android.<wbr>control.<wbr>* have any effect</span>
2791 </li>
2792 <li>
2793 <span class="entry_type_enum_name">AUTO</span>
2794 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
2795 Manual control of capture parameters is disabled.<wbr> All
2796 controls in android.<wbr>control.<wbr>* besides sceneMode take
2797 effect</span>
2798 </li>
2799 <li>
2800 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
2801 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
2802 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
2803 controls; the HAL must ignore those settings while
2804 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
2805 scene mode).<wbr> Other control entries are still active.<wbr>
2806 This setting can only be used if availableSceneModes !=
2807 UNSUPPORTED</span>
2808 </li>
2809 </ul>
2810
2811 </td> <!-- entry_type -->
2812
2813 <td class="entry_description">
2814 Overall mode of 3A control
2815 routines
2816 </td>
2817
2818 <td class="entry_units">
2819 </td>
2820
2821 <td class="entry_range">
2822 all must be supported
2823 </td>
2824
2825 <td class="entry_notes">
2826 </td>
2827
2828 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002829 <ul class="entry_tags">
2830 <li><a href="#tag_BC">BC</a></li>
2831 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002832 </td>
2833
2834 </tr> <!-- end of entry -->
2835
2836
2837
2838 <!-- end of kind -->
2839 </tbody>
2840
2841 <!-- end of section -->
2842 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
2843
2844
2845 <tr><td colspan="7" class="kind">controls</td></tr>
2846
2847 <thead>
2848 <tr>
2849 <th class="th_name">Property Name</th>
2850 <th class="th_type">Type</th>
2851 <th class="th_description">Description</th>
2852 <th class="th_units">Units</th>
2853 <th class="th_range">Range</th>
2854 <th class="th_notes">Notes</th>
2855 <th class="th_tags">Tags</th>
2856 </tr>
2857 </thead>
2858
2859 <tbody>
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870 <tr class="entry" id="controls_android.demosaic.mode">
2871 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
2872 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002873 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002874
2875
2876
2877 <ul class="entry_type_enum">
2878 <li>
2879 <span class="entry_type_enum_name">FAST</span>
2880 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
2881 Bayer RAW output</span>
2882 </li>
2883 <li>
2884 <span class="entry_type_enum_name">HIGH_QUALITY</span>
2885 <span class="entry_type_enum_notes">High-quality may reduce output frame
2886 rate</span>
2887 </li>
2888 </ul>
2889
2890 </td> <!-- entry_type -->
2891
2892 <td class="entry_description">
2893 Controls the quality of the demosaicing
2894 processing
2895 </td>
2896
2897 <td class="entry_units">
2898 </td>
2899
2900 <td class="entry_range">
2901 </td>
2902
2903 <td class="entry_notes">
2904 </td>
2905
2906 <td class="entry_tags">
2907 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002908 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002909 </ul>
2910 </td>
2911
2912 </tr> <!-- end of entry -->
2913
2914
2915
2916 <!-- end of kind -->
2917 </tbody>
2918
2919 <!-- end of section -->
2920 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
2921
2922
2923 <tr><td colspan="7" class="kind">controls</td></tr>
2924
2925 <thead>
2926 <tr>
2927 <th class="th_name">Property Name</th>
2928 <th class="th_type">Type</th>
2929 <th class="th_description">Description</th>
2930 <th class="th_units">Units</th>
2931 <th class="th_range">Range</th>
2932 <th class="th_notes">Notes</th>
2933 <th class="th_tags">Tags</th>
2934 </tr>
2935 </thead>
2936
2937 <tbody>
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948 <tr class="entry" id="controls_android.edge.mode">
2949 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
2950 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002951 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952
2953
2954
2955 <ul class="entry_type_enum">
2956 <li>
2957 <span class="entry_type_enum_name">OFF</span>
2958 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
2959 </li>
2960 <li>
2961 <span class="entry_type_enum_name">FAST</span>
2962 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
2963 bayer output</span>
2964 </li>
2965 <li>
2966 <span class="entry_type_enum_name">HIGH_QUALITY</span>
2967 <span class="entry_type_enum_notes">Frame rate may be reduced by high
2968 quality</span>
2969 </li>
2970 </ul>
2971
2972 </td> <!-- entry_type -->
2973
2974 <td class="entry_description">
2975 Operation mode for edge
2976 enhancement
2977 </td>
2978
2979 <td class="entry_units">
2980 </td>
2981
2982 <td class="entry_range">
2983 </td>
2984
2985 <td class="entry_notes">
2986 </td>
2987
2988 <td class="entry_tags">
2989 </td>
2990
2991 </tr> <!-- end of entry -->
2992
2993
2994 <tr class="entry" id="controls_android.edge.strength">
2995 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
2996 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002997 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002998
2999
3000
3001
3002 </td> <!-- entry_type -->
3003
3004 <td class="entry_description">
3005 Control the amount of edge enhancement
3006 applied to the images
3007 </td>
3008
3009 <td class="entry_units">
3010 1-10; 10 is maximum sharpening
3011 </td>
3012
3013 <td class="entry_range">
3014 </td>
3015
3016 <td class="entry_notes">
3017 </td>
3018
3019 <td class="entry_tags">
3020 </td>
3021
3022 </tr> <!-- end of entry -->
3023
3024
3025
3026 <!-- end of kind -->
3027 </tbody>
3028 <tr><td colspan="7" class="kind">dynamic</td></tr>
3029
3030 <thead>
3031 <tr>
3032 <th class="th_name">Property Name</th>
3033 <th class="th_type">Type</th>
3034 <th class="th_description">Description</th>
3035 <th class="th_units">Units</th>
3036 <th class="th_range">Range</th>
3037 <th class="th_notes">Notes</th>
3038 <th class="th_tags">Tags</th>
3039 </tr>
3040 </thead>
3041
3042 <tbody>
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053 <tr class="entry" id="dynamic_android.edge.mode">
3054 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3055 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003056 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003057
3058
3059
3060 <ul class="entry_type_enum">
3061 <li>
3062 <span class="entry_type_enum_name">OFF</span>
3063 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3064 </li>
3065 <li>
3066 <span class="entry_type_enum_name">FAST</span>
3067 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3068 bayer output</span>
3069 </li>
3070 <li>
3071 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3072 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3073 quality</span>
3074 </li>
3075 </ul>
3076
3077 </td> <!-- entry_type -->
3078
3079 <td class="entry_description">
3080 Operation mode for edge
3081 enhancement
3082 </td>
3083
3084 <td class="entry_units">
3085 </td>
3086
3087 <td class="entry_range">
3088 </td>
3089
3090 <td class="entry_notes">
3091 </td>
3092
3093 <td class="entry_tags">
3094 </td>
3095
3096 </tr> <!-- end of entry -->
3097
3098
3099
3100 <!-- end of kind -->
3101 </tbody>
3102
3103 <!-- end of section -->
3104 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3105
3106
3107 <tr><td colspan="7" class="kind">controls</td></tr>
3108
3109 <thead>
3110 <tr>
3111 <th class="th_name">Property Name</th>
3112 <th class="th_type">Type</th>
3113 <th class="th_description">Description</th>
3114 <th class="th_units">Units</th>
3115 <th class="th_range">Range</th>
3116 <th class="th_notes">Notes</th>
3117 <th class="th_tags">Tags</th>
3118 </tr>
3119 </thead>
3120
3121 <tbody>
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132 <tr class="entry" id="controls_android.flash.firingPower">
3133 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3134 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003135 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003136
3137
3138
3139
3140 </td> <!-- entry_type -->
3141
3142 <td class="entry_description">
3143 Power for flash firing/<wbr>torch
3144 </td>
3145
3146 <td class="entry_units">
3147 10 is max power; 0 is no flash.<wbr> Linear
3148 </td>
3149
3150 <td class="entry_range">
3151 0 - 10
3152 </td>
3153
3154 <td class="entry_notes">
3155 Power for snapshot may use a different scale than
3156 for torch mode.<wbr> Only one entry for torch mode will be
3157 used
3158 </td>
3159
3160 <td class="entry_tags">
3161 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003162 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003163 </ul>
3164 </td>
3165
3166 </tr> <!-- end of entry -->
3167
3168
3169 <tr class="entry" id="controls_android.flash.firingTime">
3170 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3171 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003172 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173
3174
3175
3176
3177 </td> <!-- entry_type -->
3178
3179 <td class="entry_description">
3180 Firing time of flash relative to start of
3181 exposure
3182 </td>
3183
3184 <td class="entry_units">
3185 nanoseconds
3186 </td>
3187
3188 <td class="entry_range">
3189 0-(exposure time-flash duration)
3190 </td>
3191
3192 <td class="entry_notes">
3193 Clamped to (0,<wbr> exposure time - flash
3194 duration).<wbr>
3195 </td>
3196
3197 <td class="entry_tags">
3198 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003199 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003200 </ul>
3201 </td>
3202
3203 </tr> <!-- end of entry -->
3204
3205
3206 <tr class="entry" id="controls_android.flash.mode">
3207 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3208 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003209 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003210
3211
3212
3213 <ul class="entry_type_enum">
3214 <li>
3215 <span class="entry_type_enum_name">OFF</span>
3216 <span class="entry_type_enum_notes">Do not fire the flash for this
3217 capture</span>
3218 </li>
3219 <li>
3220 <span class="entry_type_enum_name">SINGLE</span>
3221 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3222 for this capture based on firingPower,<wbr>
3223 firingTime.<wbr></span>
3224 </li>
3225 <li>
3226 <span class="entry_type_enum_name">TORCH</span>
3227 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3228 continuously on,<wbr> power set by
3229 firingPower</span>
3230 </li>
3231 </ul>
3232
3233 </td> <!-- entry_type -->
3234
3235 <td class="entry_description">
3236 Select flash operation mode
3237 </td>
3238
3239 <td class="entry_units">
3240 </td>
3241
3242 <td class="entry_range">
3243 </td>
3244
3245 <td class="entry_notes">
3246 </td>
3247
3248 <td class="entry_tags">
3249 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003250 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003251 </ul>
3252 </td>
3253
3254 </tr> <!-- end of entry -->
3255
3256
3257
3258 <!-- end of kind -->
3259 </tbody>
3260 <tr><td colspan="7" class="kind">static</td></tr>
3261
3262 <thead>
3263 <tr>
3264 <th class="th_name">Property Name</th>
3265 <th class="th_type">Type</th>
3266 <th class="th_description">Description</th>
3267 <th class="th_units">Units</th>
3268 <th class="th_range">Range</th>
3269 <th class="th_notes">Notes</th>
3270 <th class="th_tags">Tags</th>
3271 </tr>
3272 </thead>
3273
3274 <tbody>
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287 <tr class="entry" id="static_android.flash.info.available">
3288 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3289 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003290 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003291
3292
3293
3294
3295 </td> <!-- entry_type -->
3296
3297 <td class="entry_description">
3298 Whether this camera has a
3299 flash
3300 </td>
3301
3302 <td class="entry_units">
3303 boolean (0 = false,<wbr> otherwise true)
3304 </td>
3305
3306 <td class="entry_range">
3307 </td>
3308
3309 <td class="entry_notes">
3310 If no flash,<wbr> none of the flash controls do
3311 anything.<wbr> All other metadata should return 0
3312 </td>
3313
3314 <td class="entry_tags">
3315 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003316 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003317 </ul>
3318 </td>
3319
3320 </tr> <!-- end of entry -->
3321
3322
3323 <tr class="entry" id="static_android.flash.info.chargeDuration">
3324 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3325 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003326 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003327
3328
3329
3330
3331 </td> <!-- entry_type -->
3332
3333 <td class="entry_description">
3334 Time taken before flash can fire
3335 again
3336 </td>
3337
3338 <td class="entry_units">
3339 nanoseconds
3340 </td>
3341
3342 <td class="entry_range">
3343 0-1e9
3344 </td>
3345
3346 <td class="entry_notes">
3347 1 second too long/<wbr>too short for recharge? Should
3348 this be power-dependent?
3349 </td>
3350
3351 <td class="entry_tags">
3352 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003353 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003354 </ul>
3355 </td>
3356
3357 </tr> <!-- end of entry -->
3358
3359
3360
3361
3362
3363 <tr class="entry" id="static_android.flash.colorTemperature">
3364 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3365 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003366 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003367
3368
3369
3370
3371 </td> <!-- entry_type -->
3372
3373 <td class="entry_description">
3374 The x,<wbr>y whitepoint of the
3375 flash
3376 </td>
3377
3378 <td class="entry_units">
3379 pair of floats
3380 </td>
3381
3382 <td class="entry_range">
3383 0-1 for both
3384 </td>
3385
3386 <td class="entry_notes">
3387 </td>
3388
3389 <td class="entry_tags">
3390 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003391 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003392 </ul>
3393 </td>
3394
3395 </tr> <!-- end of entry -->
3396
3397
3398 <tr class="entry" id="static_android.flash.maxEnergy">
3399 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3400 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003401 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003402
3403
3404
3405
3406 </td> <!-- entry_type -->
3407
3408 <td class="entry_description">
3409 Max energy output of the flash for a full
3410 power single flash
3411 </td>
3412
3413 <td class="entry_units">
3414 lumen-seconds
3415 </td>
3416
3417 <td class="entry_range">
3418 >= 0
3419 </td>
3420
3421 <td class="entry_notes">
3422 </td>
3423
3424 <td class="entry_tags">
3425 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003426 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003427 </ul>
3428 </td>
3429
3430 </tr> <!-- end of entry -->
3431
3432
3433
3434 <!-- end of kind -->
3435 </tbody>
3436 <tr><td colspan="7" class="kind">dynamic</td></tr>
3437
3438 <thead>
3439 <tr>
3440 <th class="th_name">Property Name</th>
3441 <th class="th_type">Type</th>
3442 <th class="th_description">Description</th>
3443 <th class="th_units">Units</th>
3444 <th class="th_range">Range</th>
3445 <th class="th_notes">Notes</th>
3446 <th class="th_tags">Tags</th>
3447 </tr>
3448 </thead>
3449
3450 <tbody>
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461 <tr class="entry" id="dynamic_android.flash.firingPower">
3462 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3463 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003464 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003465
3466
3467
3468
3469 </td> <!-- entry_type -->
3470
3471 <td class="entry_description">
3472 Power for flash firing/<wbr>torch
3473 </td>
3474
3475 <td class="entry_units">
3476 10 is max power; 0 is no flash.<wbr> Linear
3477 </td>
3478
3479 <td class="entry_range">
3480 0 - 10
3481 </td>
3482
3483 <td class="entry_notes">
3484 Power for snapshot may use a different scale than
3485 for torch mode.<wbr> Only one entry for torch mode will be
3486 used
3487 </td>
3488
3489 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003490 <ul class="entry_tags">
3491 <li><a href="#tag_V1">V1</a></li>
3492 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003493 </td>
3494
3495 </tr> <!-- end of entry -->
3496
3497
3498 <tr class="entry" id="dynamic_android.flash.firingTime">
3499 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3500 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003501 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003502
3503
3504
3505
3506 </td> <!-- entry_type -->
3507
3508 <td class="entry_description">
3509 Firing time of flash relative to start of
3510 exposure
3511 </td>
3512
3513 <td class="entry_units">
3514 nanoseconds
3515 </td>
3516
3517 <td class="entry_range">
3518 0-(exposure time-flash duration)
3519 </td>
3520
3521 <td class="entry_notes">
3522 Clamped to (0,<wbr> exposure time - flash
3523 duration).<wbr>
3524 </td>
3525
3526 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003527 <ul class="entry_tags">
3528 <li><a href="#tag_V1">V1</a></li>
3529 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003530 </td>
3531
3532 </tr> <!-- end of entry -->
3533
3534
3535 <tr class="entry" id="dynamic_android.flash.mode">
3536 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3537 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003538 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003539
3540
3541
3542 <ul class="entry_type_enum">
3543 <li>
3544 <span class="entry_type_enum_name">OFF</span>
3545 <span class="entry_type_enum_notes">Do not fire the flash for this
3546 capture</span>
3547 </li>
3548 <li>
3549 <span class="entry_type_enum_name">SINGLE</span>
3550 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3551 for this capture based on firingPower,<wbr>
3552 firingTime.<wbr></span>
3553 </li>
3554 <li>
3555 <span class="entry_type_enum_name">TORCH</span>
3556 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3557 continuously on,<wbr> power set by
3558 firingPower</span>
3559 </li>
3560 </ul>
3561
3562 </td> <!-- entry_type -->
3563
3564 <td class="entry_description">
3565 Select flash operation mode
3566 </td>
3567
3568 <td class="entry_units">
3569 </td>
3570
3571 <td class="entry_range">
3572 </td>
3573
3574 <td class="entry_notes">
3575 </td>
3576
3577 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003578 <ul class="entry_tags">
3579 <li><a href="#tag_BC">BC</a></li>
3580 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003581 </td>
3582
3583 </tr> <!-- end of entry -->
3584
3585
3586 <tr class="entry" id="dynamic_android.flash.state">
3587 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
3588 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003589 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003590
3591
3592
3593 <ul class="entry_type_enum">
3594 <li>
3595 <span class="entry_type_enum_name">UNAVAILABLE</span>
3596 <span class="entry_type_enum_notes">No flash on camera</span>
3597 </li>
3598 <li>
3599 <span class="entry_type_enum_name">CHARGING</span>
3600 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3601 charging and cannot be fired</span>
3602 </li>
3603 <li>
3604 <span class="entry_type_enum_name">READY</span>
3605 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3606 ready to fire</span>
3607 </li>
3608 <li>
3609 <span class="entry_type_enum_name">FIRED</span>
3610 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
3611 for this capture</span>
3612 </li>
3613 </ul>
3614
3615 </td> <!-- entry_type -->
3616
3617 <td class="entry_description">
3618 Current state of the flash
3619 unit
3620 </td>
3621
3622 <td class="entry_units">
3623 </td>
3624
3625 <td class="entry_range">
3626 </td>
3627
3628 <td class="entry_notes">
3629 </td>
3630
3631 <td class="entry_tags">
3632 </td>
3633
3634 </tr> <!-- end of entry -->
3635
3636
3637
3638 <!-- end of kind -->
3639 </tbody>
3640
3641 <!-- end of section -->
3642 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
3643
3644
3645 <tr><td colspan="7" class="kind">controls</td></tr>
3646
3647 <thead>
3648 <tr>
3649 <th class="th_name">Property Name</th>
3650 <th class="th_type">Type</th>
3651 <th class="th_description">Description</th>
3652 <th class="th_units">Units</th>
3653 <th class="th_range">Range</th>
3654 <th class="th_notes">Notes</th>
3655 <th class="th_tags">Tags</th>
3656 </tr>
3657 </thead>
3658
3659 <tbody>
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670 <tr class="entry" id="controls_android.geometric.mode">
3671 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
3672 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003673 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003674
3675
3676
3677 <ul class="entry_type_enum">
3678 <li>
3679 <span class="entry_type_enum_name">OFF</span>
3680 <span class="entry_type_enum_notes">No geometric correction is
3681 applied</span>
3682 </li>
3683 <li>
3684 <span class="entry_type_enum_name">FAST</span>
3685 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3686 bayer output</span>
3687 </li>
3688 <li>
3689 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3690 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3691 quality</span>
3692 </li>
3693 </ul>
3694
3695 </td> <!-- entry_type -->
3696
3697 <td class="entry_description">
3698 Operating mode of geometric
3699 correction
3700 </td>
3701
3702 <td class="entry_units">
3703 </td>
3704
3705 <td class="entry_range">
3706 </td>
3707
3708 <td class="entry_notes">
3709 </td>
3710
3711 <td class="entry_tags">
3712 </td>
3713
3714 </tr> <!-- end of entry -->
3715
3716
3717 <tr class="entry" id="controls_android.geometric.strength">
3718 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
3719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003720 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003721
3722
3723
3724
3725 </td> <!-- entry_type -->
3726
3727 <td class="entry_description">
3728 Control the amount of shading correction
3729 applied to the images
3730 </td>
3731
3732 <td class="entry_units">
3733 unitless: 1-10; 10 is full shading
3734 compensation
3735 </td>
3736
3737 <td class="entry_range">
3738 </td>
3739
3740 <td class="entry_notes">
3741 </td>
3742
3743 <td class="entry_tags">
3744 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003745 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003746 </ul>
3747 </td>
3748
3749 </tr> <!-- end of entry -->
3750
3751
3752
3753 <!-- end of kind -->
3754 </tbody>
3755
3756 <!-- end of section -->
3757 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
3758
3759
3760 <tr><td colspan="7" class="kind">controls</td></tr>
3761
3762 <thead>
3763 <tr>
3764 <th class="th_name">Property Name</th>
3765 <th class="th_type">Type</th>
3766 <th class="th_description">Description</th>
3767 <th class="th_units">Units</th>
3768 <th class="th_range">Range</th>
3769 <th class="th_notes">Notes</th>
3770 <th class="th_tags">Tags</th>
3771 </tr>
3772 </thead>
3773
3774 <tbody>
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785 <tr class="entry" id="controls_android.hotPixel.mode">
3786 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3787 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003788 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003789
3790
3791
3792 <ul class="entry_type_enum">
3793 <li>
3794 <span class="entry_type_enum_name">OFF</span>
3795 <span class="entry_type_enum_notes">No hot pixel correction can be
3796 applied</span>
3797 </li>
3798 <li>
3799 <span class="entry_type_enum_name">FAST</span>
3800 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3801 Bayer output</span>
3802 </li>
3803 <li>
3804 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3805 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3806 quality</span>
3807 </li>
3808 </ul>
3809
3810 </td> <!-- entry_type -->
3811
3812 <td class="entry_description">
3813 Set operational mode for hot pixel
3814 correction
3815 </td>
3816
3817 <td class="entry_units">
3818 </td>
3819
3820 <td class="entry_range">
3821 </td>
3822
3823 <td class="entry_notes">
3824 </td>
3825
3826 <td class="entry_tags">
3827 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003828 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003829 </ul>
3830 </td>
3831
3832 </tr> <!-- end of entry -->
3833
3834
3835
3836 <!-- end of kind -->
3837 </tbody>
3838 <tr><td colspan="7" class="kind">static</td></tr>
3839
3840 <thead>
3841 <tr>
3842 <th class="th_name">Property Name</th>
3843 <th class="th_type">Type</th>
3844 <th class="th_description">Description</th>
3845 <th class="th_units">Units</th>
3846 <th class="th_range">Range</th>
3847 <th class="th_notes">Notes</th>
3848 <th class="th_tags">Tags</th>
3849 </tr>
3850 </thead>
3851
3852 <tbody>
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865 <tr class="entry" id="static_android.hotPixel.info.map">
3866 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
3867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003868 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003869 <span class="entry_type_container">x</span>
3870
3871 <span class="entry_type_array">
3872 2 x n
3873 </span>
3874
3875 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
3876
3877
3878 </td> <!-- entry_type -->
3879
3880 <td class="entry_description">
3881 Location of hot/<wbr>defective pixels on
3882 sensor
3883 </td>
3884
3885 <td class="entry_units">
3886 </td>
3887
3888 <td class="entry_range">
3889 </td>
3890
3891 <td class="entry_notes">
3892 </td>
3893
3894 <td class="entry_tags">
3895 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003896 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003897 </ul>
3898 </td>
3899
3900 </tr> <!-- end of entry -->
3901
3902
3903
3904
3905
3906
3907 <!-- end of kind -->
3908 </tbody>
3909 <tr><td colspan="7" class="kind">dynamic</td></tr>
3910
3911 <thead>
3912 <tr>
3913 <th class="th_name">Property Name</th>
3914 <th class="th_type">Type</th>
3915 <th class="th_description">Description</th>
3916 <th class="th_units">Units</th>
3917 <th class="th_range">Range</th>
3918 <th class="th_notes">Notes</th>
3919 <th class="th_tags">Tags</th>
3920 </tr>
3921 </thead>
3922
3923 <tbody>
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934 <tr class="entry" id="dynamic_android.hotPixel.mode">
3935 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3936 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003937 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003938
3939
3940
3941 <ul class="entry_type_enum">
3942 <li>
3943 <span class="entry_type_enum_name">OFF</span>
3944 <span class="entry_type_enum_notes">No hot pixel correction can be
3945 applied</span>
3946 </li>
3947 <li>
3948 <span class="entry_type_enum_name">FAST</span>
3949 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3950 Bayer output</span>
3951 </li>
3952 <li>
3953 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3954 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3955 quality</span>
3956 </li>
3957 </ul>
3958
3959 </td> <!-- entry_type -->
3960
3961 <td class="entry_description">
3962 Set operational mode for hot pixel
3963 correction
3964 </td>
3965
3966 <td class="entry_units">
3967 </td>
3968
3969 <td class="entry_range">
3970 </td>
3971
3972 <td class="entry_notes">
3973 </td>
3974
3975 <td class="entry_tags">
3976 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003977 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003978 </ul>
3979 </td>
3980
3981 </tr> <!-- end of entry -->
3982
3983
3984
3985 <!-- end of kind -->
3986 </tbody>
3987
3988 <!-- end of section -->
3989 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
3990
3991
3992 <tr><td colspan="7" class="kind">controls</td></tr>
3993
3994 <thead>
3995 <tr>
3996 <th class="th_name">Property Name</th>
3997 <th class="th_type">Type</th>
3998 <th class="th_description">Description</th>
3999 <th class="th_units">Units</th>
4000 <th class="th_range">Range</th>
4001 <th class="th_notes">Notes</th>
4002 <th class="th_tags">Tags</th>
4003 </tr>
4004 </thead>
4005
4006 <tbody>
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4018 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4019 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004020 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004021 <span class="entry_type_container">x</span>
4022
4023 <span class="entry_type_array">
4024 3
4025 </span>
4026
4027 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4028
4029
4030 </td> <!-- entry_type -->
4031
4032 <td class="entry_description">
4033 GPS coordinates to include in output JPEG
4034 EXIF
4035 </td>
4036
4037 <td class="entry_units">
4038 </td>
4039
4040 <td class="entry_range">
4041 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4042 </td>
4043
4044 <td class="entry_notes">
4045 </td>
4046
4047 <td class="entry_tags">
4048 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004049 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004050 </ul>
4051 </td>
4052
4053 </tr> <!-- end of entry -->
4054
4055
4056 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4057 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4058 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004059 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004060
4061
4062
4063
4064 </td> <!-- entry_type -->
4065
4066 <td class="entry_description">
4067 32 characters describing GPS algorithm to
4068 include in EXIF
4069 </td>
4070
4071 <td class="entry_units">
4072 UTF-8 null-terminated string
4073 </td>
4074
4075 <td class="entry_range">
4076 </td>
4077
4078 <td class="entry_notes">
4079 </td>
4080
4081 <td class="entry_tags">
4082 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004083 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004084 </ul>
4085 </td>
4086
4087 </tr> <!-- end of entry -->
4088
4089
4090 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4091 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4092 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004093 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004094
4095
4096
4097
4098 </td> <!-- entry_type -->
4099
4100 <td class="entry_description">
4101 Time GPS fix was made to include in
4102 EXIF
4103 </td>
4104
4105 <td class="entry_units">
4106 UTC in seconds since January 1,<wbr> 1970
4107 </td>
4108
4109 <td class="entry_range">
4110 </td>
4111
4112 <td class="entry_notes">
4113 </td>
4114
4115 <td class="entry_tags">
4116 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004117 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004118 </ul>
4119 </td>
4120
4121 </tr> <!-- end of entry -->
4122
4123
4124 <tr class="entry" id="controls_android.jpeg.orientation">
4125 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4126 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004127 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128
4129
4130
4131
4132 </td> <!-- entry_type -->
4133
4134 <td class="entry_description">
4135 Orientation of JPEG image to
4136 write
4137 </td>
4138
4139 <td class="entry_units">
4140 Degrees in multiples of 90
4141 </td>
4142
4143 <td class="entry_range">
4144 0,<wbr> 90,<wbr> 180,<wbr> 270
4145 </td>
4146
4147 <td class="entry_notes">
4148 </td>
4149
4150 <td class="entry_tags">
4151 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004152 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004153 </ul>
4154 </td>
4155
4156 </tr> <!-- end of entry -->
4157
4158
4159 <tr class="entry" id="controls_android.jpeg.quality">
4160 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4161 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004162 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004163
4164
4165
4166
4167 </td> <!-- entry_type -->
4168
4169 <td class="entry_description">
4170 Compression quality of the final JPEG
4171 image
4172 </td>
4173
4174 <td class="entry_units">
4175 </td>
4176
4177 <td class="entry_range">
4178 1-100; larger is higher quality
4179 </td>
4180
4181 <td class="entry_notes">
4182 85-95 is typical usage range
4183 </td>
4184
4185 <td class="entry_tags">
4186 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004187 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004188 </ul>
4189 </td>
4190
4191 </tr> <!-- end of entry -->
4192
4193
4194 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4195 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4196 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004197 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004198
4199
4200
4201
4202 </td> <!-- entry_type -->
4203
4204 <td class="entry_description">
4205 Compression quality of JPEG
4206 thumbnail
4207 </td>
4208
4209 <td class="entry_units">
4210 </td>
4211
4212 <td class="entry_range">
4213 1-100; larger is higher quality
4214 </td>
4215
4216 <td class="entry_notes">
4217 </td>
4218
4219 <td class="entry_tags">
4220 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004221 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004222 </ul>
4223 </td>
4224
4225 </tr> <!-- end of entry -->
4226
4227
4228 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4229 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4230 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004231 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004232 <span class="entry_type_container">x</span>
4233
4234 <span class="entry_type_array">
4235 2
4236 </span>
4237
4238
4239
4240 </td> <!-- entry_type -->
4241
4242 <td class="entry_description">
4243 Resolution of embedded JPEG
4244 thumbnail
4245 </td>
4246
4247 <td class="entry_units">
4248 </td>
4249
4250 <td class="entry_range">
4251 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4252 </td>
4253
4254 <td class="entry_notes">
4255 </td>
4256
4257 <td class="entry_tags">
4258 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004259 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004260 </ul>
4261 </td>
4262
4263 </tr> <!-- end of entry -->
4264
4265
4266
4267 <!-- end of kind -->
4268 </tbody>
4269 <tr><td colspan="7" class="kind">static</td></tr>
4270
4271 <thead>
4272 <tr>
4273 <th class="th_name">Property Name</th>
4274 <th class="th_type">Type</th>
4275 <th class="th_description">Description</th>
4276 <th class="th_units">Units</th>
4277 <th class="th_range">Range</th>
4278 <th class="th_notes">Notes</th>
4279 <th class="th_tags">Tags</th>
4280 </tr>
4281 </thead>
4282
4283 <tbody>
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4295 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004297 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004298 <span class="entry_type_container">x</span>
4299
4300 <span class="entry_type_array">
4301 2 x n
4302 </span>
4303
4304 <div class="entry_type_notes">list of resolution pairs</div>
4305
4306
4307 </td> <!-- entry_type -->
4308
4309 <td class="entry_description">
4310 Supported resolutions for the JPEG
4311 thumbnail
4312 </td>
4313
4314 <td class="entry_units">
4315 </td>
4316
4317 <td class="entry_range">
4318 Must include at least one valid resolution,<wbr> plus
4319 (0,<wbr>0) for no thumbnail generation
4320 </td>
4321
4322 <td class="entry_notes">
4323 </td>
4324
4325 <td class="entry_tags">
4326 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004327 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004328 </ul>
4329 </td>
4330
4331 </tr> <!-- end of entry -->
4332
4333
4334 <tr class="entry" id="static_android.jpeg.maxSize">
4335 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4336 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004337 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004338
4339
4340
4341
4342 </td> <!-- entry_type -->
4343
4344 <td class="entry_description">
4345 Maximum size in bytes for the compressed
4346 JPEG buffer
4347 </td>
4348
4349 <td class="entry_units">
4350 </td>
4351
4352 <td class="entry_range">
4353 Must be large enough to fit any JPEG produced by
4354 the camera
4355 </td>
4356
4357 <td class="entry_notes">
4358 This is used for sizing the gralloc buffers for
4359 JPEG
4360 </td>
4361
4362 <td class="entry_tags">
4363 </td>
4364
4365 </tr> <!-- end of entry -->
4366
4367
4368
4369 <!-- end of kind -->
4370 </tbody>
4371 <tr><td colspan="7" class="kind">dynamic</td></tr>
4372
4373 <thead>
4374 <tr>
4375 <th class="th_name">Property Name</th>
4376 <th class="th_type">Type</th>
4377 <th class="th_description">Description</th>
4378 <th class="th_units">Units</th>
4379 <th class="th_range">Range</th>
4380 <th class="th_notes">Notes</th>
4381 <th class="th_tags">Tags</th>
4382 </tr>
4383 </thead>
4384
4385 <tbody>
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4397 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4398 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004399 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004400 <span class="entry_type_container">x</span>
4401
4402 <span class="entry_type_array">
4403 3
4404 </span>
4405
4406 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4407
4408
4409 </td> <!-- entry_type -->
4410
4411 <td class="entry_description">
4412 GPS coordinates to include in output JPEG
4413 EXIF
4414 </td>
4415
4416 <td class="entry_units">
4417 </td>
4418
4419 <td class="entry_range">
4420 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4421 </td>
4422
4423 <td class="entry_notes">
4424 </td>
4425
4426 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004427 <ul class="entry_tags">
4428 <li><a href="#tag_BC">BC</a></li>
4429 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004430 </td>
4431
4432 </tr> <!-- end of entry -->
4433
4434
4435 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4436 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4437 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004438 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004439
4440
4441
4442
4443 </td> <!-- entry_type -->
4444
4445 <td class="entry_description">
4446 32 characters describing GPS algorithm to
4447 include in EXIF
4448 </td>
4449
4450 <td class="entry_units">
4451 UTF-8 null-terminated string
4452 </td>
4453
4454 <td class="entry_range">
4455 </td>
4456
4457 <td class="entry_notes">
4458 </td>
4459
4460 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004461 <ul class="entry_tags">
4462 <li><a href="#tag_BC">BC</a></li>
4463 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004464 </td>
4465
4466 </tr> <!-- end of entry -->
4467
4468
4469 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4470 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4471 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004472 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004473
4474
4475
4476
4477 </td> <!-- entry_type -->
4478
4479 <td class="entry_description">
4480 Time GPS fix was made to include in
4481 EXIF
4482 </td>
4483
4484 <td class="entry_units">
4485 UTC in seconds since January 1,<wbr> 1970
4486 </td>
4487
4488 <td class="entry_range">
4489 </td>
4490
4491 <td class="entry_notes">
4492 </td>
4493
4494 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004495 <ul class="entry_tags">
4496 <li><a href="#tag_BC">BC</a></li>
4497 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004498 </td>
4499
4500 </tr> <!-- end of entry -->
4501
4502
4503 <tr class="entry" id="dynamic_android.jpeg.orientation">
4504 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4505 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004506 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004507
4508
4509
4510
4511 </td> <!-- entry_type -->
4512
4513 <td class="entry_description">
4514 Orientation of JPEG image to
4515 write
4516 </td>
4517
4518 <td class="entry_units">
4519 Degrees in multiples of 90
4520 </td>
4521
4522 <td class="entry_range">
4523 0,<wbr> 90,<wbr> 180,<wbr> 270
4524 </td>
4525
4526 <td class="entry_notes">
4527 </td>
4528
4529 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004530 <ul class="entry_tags">
4531 <li><a href="#tag_BC">BC</a></li>
4532 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004533 </td>
4534
4535 </tr> <!-- end of entry -->
4536
4537
4538 <tr class="entry" id="dynamic_android.jpeg.quality">
4539 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4540 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004541 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004542
4543
4544
4545
4546 </td> <!-- entry_type -->
4547
4548 <td class="entry_description">
4549 Compression quality of the final JPEG
4550 image
4551 </td>
4552
4553 <td class="entry_units">
4554 </td>
4555
4556 <td class="entry_range">
4557 1-100; larger is higher quality
4558 </td>
4559
4560 <td class="entry_notes">
4561 85-95 is typical usage range
4562 </td>
4563
4564 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004565 <ul class="entry_tags">
4566 <li><a href="#tag_BC">BC</a></li>
4567 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004568 </td>
4569
4570 </tr> <!-- end of entry -->
4571
4572
4573 <tr class="entry" id="dynamic_android.jpeg.size">
4574 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
4575 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004576 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004577
4578
4579
4580
4581 </td> <!-- entry_type -->
4582
4583 <td class="entry_description">
4584 The size of the compressed JPEG image,<wbr> in
4585 bytes
4586 </td>
4587
4588 <td class="entry_units">
4589 </td>
4590
4591 <td class="entry_range">
4592 >= 0
4593 </td>
4594
4595 <td class="entry_notes">
4596 If no JPEG output is produced for the request,<wbr>
4597 this must be 0.<wbr> Otherwise,<wbr> this describes the real size
4598 of the compressed JPEG image placed in the output stream.<wbr>
4599 More specifically,<wbr> if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and
4600 a specific capture has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then
4601 the output buffer from the JPEG stream will be 1000000
4602 bytes,<wbr> of which the first 500000 make up the real
4603 data.<wbr>
4604 </td>
4605
4606 <td class="entry_tags">
4607 </td>
4608
4609 </tr> <!-- end of entry -->
4610
4611
4612 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
4613 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4614 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004615 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004616
4617
4618
4619
4620 </td> <!-- entry_type -->
4621
4622 <td class="entry_description">
4623 Compression quality of JPEG
4624 thumbnail
4625 </td>
4626
4627 <td class="entry_units">
4628 </td>
4629
4630 <td class="entry_range">
4631 1-100; larger is higher quality
4632 </td>
4633
4634 <td class="entry_notes">
4635 </td>
4636
4637 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004638 <ul class="entry_tags">
4639 <li><a href="#tag_BC">BC</a></li>
4640 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004641 </td>
4642
4643 </tr> <!-- end of entry -->
4644
4645
4646 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
4647 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4648 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004649 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004650 <span class="entry_type_container">x</span>
4651
4652 <span class="entry_type_array">
4653 2
4654 </span>
4655
4656
4657
4658 </td> <!-- entry_type -->
4659
4660 <td class="entry_description">
4661 Resolution of embedded JPEG
4662 thumbnail
4663 </td>
4664
4665 <td class="entry_units">
4666 </td>
4667
4668 <td class="entry_range">
4669 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4670 </td>
4671
4672 <td class="entry_notes">
4673 </td>
4674
4675 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004676 <ul class="entry_tags">
4677 <li><a href="#tag_BC">BC</a></li>
4678 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004679 </td>
4680
4681 </tr> <!-- end of entry -->
4682
4683
4684
4685 <!-- end of kind -->
4686 </tbody>
4687
4688 <!-- end of section -->
4689 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
4690
4691
4692 <tr><td colspan="7" class="kind">controls</td></tr>
4693
4694 <thead>
4695 <tr>
4696 <th class="th_name">Property Name</th>
4697 <th class="th_type">Type</th>
4698 <th class="th_description">Description</th>
4699 <th class="th_units">Units</th>
4700 <th class="th_range">Range</th>
4701 <th class="th_notes">Notes</th>
4702 <th class="th_tags">Tags</th>
4703 </tr>
4704 </thead>
4705
4706 <tbody>
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717 <tr class="entry" id="controls_android.lens.aperture">
4718 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
4719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004720 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004721
4722
4723
4724
4725 </td> <!-- entry_type -->
4726
4727 <td class="entry_description">
4728 Size of the lens aperture
4729 </td>
4730
4731 <td class="entry_units">
4732 f-number (f/<wbr>NNN)
4733 </td>
4734
4735 <td class="entry_range">
4736 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
4737 </td>
4738
4739 <td class="entry_notes">
4740 Will not be supported on most devices.<wbr> Can only
4741 pick from supported list
4742 </td>
4743
4744 <td class="entry_tags">
4745 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004746 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004747 </ul>
4748 </td>
4749
4750 </tr> <!-- end of entry -->
4751
4752
4753 <tr class="entry" id="controls_android.lens.filterDensity">
4754 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
4755 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004756 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004757
4758
4759
4760
4761 </td> <!-- entry_type -->
4762
4763 <td class="entry_description">
4764 State of lens neutral density
4765 filter(s)
4766 </td>
4767
4768 <td class="entry_units">
4769 number of stops of filtering
4770 </td>
4771
4772 <td class="entry_range">
4773 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
4774 </td>
4775
4776 <td class="entry_notes">
4777 Will not be supported on most devices.<wbr> Can only
4778 pick from supported list
4779 </td>
4780
4781 <td class="entry_tags">
4782 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004783 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004784 </ul>
4785 </td>
4786
4787 </tr> <!-- end of entry -->
4788
4789
4790 <tr class="entry" id="controls_android.lens.focalLength">
4791 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
4792 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004793 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004794
4795
4796
4797
4798 </td> <!-- entry_type -->
4799
4800 <td class="entry_description">
4801 Lens optical zoom setting
4802 </td>
4803
4804 <td class="entry_units">
4805 focal length in mm
4806 </td>
4807
4808 <td class="entry_range">
4809 > 0
4810 </td>
4811
4812 <td class="entry_notes">
4813 Will not be supported on most devices.<wbr>
4814 </td>
4815
4816 <td class="entry_tags">
4817 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004818 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004819 </ul>
4820 </td>
4821
4822 </tr> <!-- end of entry -->
4823
4824
4825 <tr class="entry" id="controls_android.lens.focusDistance">
4826 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
4827 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004828 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004829
4830
4831
4832
4833 </td> <!-- entry_type -->
4834
4835 <td class="entry_description">
4836 Distance to plane of sharpest focus,<wbr>
4837 measured from frontmost surface of the lens
4838 </td>
4839
4840 <td class="entry_units">
4841 diopters (1/<wbr>m)
4842 </td>
4843
4844 <td class="entry_range">
4845 >= 0
4846 </td>
4847
4848 <td class="entry_notes">
4849 0 = infinity focus.<wbr> Used value should be clamped
4850 to (0,<wbr>minimum focus distance)
4851 </td>
4852
4853 <td class="entry_tags">
4854 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004855 <li><a href="#tag_BC">BC</a></li>
4856 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004857 </ul>
4858 </td>
4859
4860 </tr> <!-- end of entry -->
4861
4862
4863 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
4864 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
4865 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004866 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004867
4868
4869
4870 <ul class="entry_type_enum">
4871 <li>
4872 <span class="entry_type_enum_name">OFF</span>
4873 </li>
4874 <li>
4875 <span class="entry_type_enum_name">ON</span>
4876 <span class="entry_type_enum_optional">optional</span>
4877 </li>
4878 </ul>
4879
4880 </td> <!-- entry_type -->
4881
4882 <td class="entry_description">
4883 Whether optical image stabilization is
4884 enabled.<wbr>
4885 </td>
4886
4887 <td class="entry_units">
4888 </td>
4889
4890 <td class="entry_range">
4891 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
4892 </td>
4893
4894 <td class="entry_notes">
4895 Will not be supported on most devices.<wbr>
4896 </td>
4897
4898 <td class="entry_tags">
4899 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004900 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004901 </ul>
4902 </td>
4903
4904 </tr> <!-- end of entry -->
4905
4906
4907
4908 <!-- end of kind -->
4909 </tbody>
4910 <tr><td colspan="7" class="kind">static</td></tr>
4911
4912 <thead>
4913 <tr>
4914 <th class="th_name">Property Name</th>
4915 <th class="th_type">Type</th>
4916 <th class="th_description">Description</th>
4917 <th class="th_units">Units</th>
4918 <th class="th_range">Range</th>
4919 <th class="th_notes">Notes</th>
4920 <th class="th_tags">Tags</th>
4921 </tr>
4922 </thead>
4923
4924 <tbody>
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937 <tr class="entry" id="static_android.lens.info.availableApertures">
4938 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
4939 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004940 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004941 <span class="entry_type_container">x</span>
4942
4943 <span class="entry_type_array">
4944 n
4945 </span>
4946
4947
4948
4949 </td> <!-- entry_type -->
4950
4951 <td class="entry_description">
4952 List of supported aperture
4953 values
4954 </td>
4955
4956 <td class="entry_units">
4957 </td>
4958
4959 <td class="entry_range">
4960 one entry required,<wbr> > 0
4961 </td>
4962
4963 <td class="entry_notes">
4964 If variable aperture not available,<wbr> only setting
4965 should be for the fixed aperture
4966 </td>
4967
4968 <td class="entry_tags">
4969 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004970 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004971 </ul>
4972 </td>
4973
4974 </tr> <!-- end of entry -->
4975
4976
4977 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
4978 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
4979 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004980 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004981 <span class="entry_type_container">x</span>
4982
4983 <span class="entry_type_array">
4984 n
4985 </span>
4986
4987
4988
4989 </td> <!-- entry_type -->
4990
4991 <td class="entry_description">
4992 List of supported ND filter
4993 values
4994 </td>
4995
4996 <td class="entry_units">
4997 </td>
4998
4999 <td class="entry_range">
5000 one entry required,<wbr> >= 0
5001 </td>
5002
5003 <td class="entry_notes">
5004 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5005 lists the available exposure index values for dimming
5006 (2 would mean the filter is set to reduce incoming
5007 light by two stops)
5008 </td>
5009
5010 <td class="entry_tags">
5011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005012 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005013 </ul>
5014 </td>
5015
5016 </tr> <!-- end of entry -->
5017
5018
5019 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5020 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005022 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005023 <span class="entry_type_container">x</span>
5024
5025 <span class="entry_type_array">
5026 n
5027 </span>
5028
5029 <div class="entry_type_notes">the list of available focal lengths</div>
5030
5031
5032 </td> <!-- entry_type -->
5033
5034 <td class="entry_description">
5035 If fitted with optical zoom,<wbr> what focal
5036 lengths are available.<wbr> If not,<wbr> the static focal
5037 length
5038 </td>
5039
5040 <td class="entry_units">
5041 </td>
5042
5043 <td class="entry_range">
5044 > 0
5045 </td>
5046
5047 <td class="entry_notes">
5048 If optical zoom not supported,<wbr> only one value
5049 should be reported
5050 </td>
5051
5052 <td class="entry_tags">
5053 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005054 <li><a href="#tag_BC">BC</a></li>
5055 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005056 </ul>
5057 </td>
5058
5059 </tr> <!-- end of entry -->
5060
5061
5062 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5063 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5064 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005065 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005066 <span class="entry_type_container">x</span>
5067
5068 <span class="entry_type_array">
5069 n
5070 </span>
5071
5072 <div class="entry_type_notes">list of enums</div>
5073
5074
5075 </td> <!-- entry_type -->
5076
5077 <td class="entry_description">
5078 List of supported optical image
5079 stabilization modes
5080 </td>
5081
5082 <td class="entry_units">
5083 </td>
5084
5085 <td class="entry_range">
5086 </td>
5087
5088 <td class="entry_notes">
5089 </td>
5090
5091 <td class="entry_tags">
5092 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005093 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005094 </ul>
5095 </td>
5096
5097 </tr> <!-- end of entry -->
5098
5099
5100 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5101 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5102 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005103 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005104 <span class="entry_type_container">x</span>
5105
5106 <span class="entry_type_array">
5107 2 x 3 x n x m
5108 </span>
5109
5110 <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>
5111
5112
5113 </td> <!-- entry_type -->
5114
5115 <td class="entry_description">
5116 A low-resolution map for correction of
5117 geometric distortions and chromatic aberrations,<wbr> per
5118 color channel
5119 </td>
5120
5121 <td class="entry_units">
5122 </td>
5123
5124 <td class="entry_range">
5125 N,<wbr> M >= 2
5126 </td>
5127
5128 <td class="entry_notes">
5129 [DNG wants a function instead].<wbr> What's easiest
5130 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5131 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5132 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5133 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5134 </td>
5135
5136 <td class="entry_tags">
5137 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005138 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005139 </ul>
5140 </td>
5141
5142 </tr> <!-- end of entry -->
5143
5144
5145 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5146 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5147 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005148 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005149 <span class="entry_type_container">x</span>
5150
5151 <span class="entry_type_array">
5152 2
5153 </span>
5154
5155 <div class="entry_type_notes">width and height of geometric correction map</div>
5156
5157
5158 </td> <!-- entry_type -->
5159
5160 <td class="entry_description">
5161 Dimensions of geometric correction
5162 map
5163 </td>
5164
5165 <td class="entry_units">
5166 </td>
5167
5168 <td class="entry_range">
5169 Both values >= 2
5170 </td>
5171
5172 <td class="entry_notes">
5173 </td>
5174
5175 <td class="entry_tags">
5176 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005177 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005178 </ul>
5179 </td>
5180
5181 </tr> <!-- end of entry -->
5182
5183
5184 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5185 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005187 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005188
5189
5190
5191
5192 </td> <!-- entry_type -->
5193
5194 <td class="entry_description">
5195 Hyperfocal distance for this lens; set to
5196 0 if fixed focus
5197 </td>
5198
5199 <td class="entry_units">
5200 diopters
5201 </td>
5202
5203 <td class="entry_range">
5204 >= 0
5205 </td>
5206
5207 <td class="entry_notes">
5208 The hyperfocal distance is used for the old
5209 API's 'fixed' setting
5210 </td>
5211
5212 <td class="entry_tags">
5213 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005214 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005215 </ul>
5216 </td>
5217
5218 </tr> <!-- end of entry -->
5219
5220
5221 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5222 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5223 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005224 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005225
5226
5227
5228
5229 </td> <!-- entry_type -->
5230
5231 <td class="entry_description">
5232 Shortest distance from frontmost surface
5233 of the lens that can be focused correctly
5234 </td>
5235
5236 <td class="entry_units">
5237 diopters
5238 </td>
5239
5240 <td class="entry_range">
5241 >= 0
5242 </td>
5243
5244 <td class="entry_notes">
5245 If the lens is fixed-focus,<wbr> this should be
5246 0
5247 </td>
5248
5249 <td class="entry_tags">
5250 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005251 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005252 </ul>
5253 </td>
5254
5255 </tr> <!-- end of entry -->
5256
5257
5258 <tr class="entry" id="static_android.lens.info.shadingMap">
5259 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map</td>
5260 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005261 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005262 <span class="entry_type_container">x</span>
5263
5264 <span class="entry_type_array">
5265 3 x n x m
5266 </span>
5267
5268 <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>
5269
5270
5271 </td> <!-- entry_type -->
5272
5273 <td class="entry_description">
5274 A low-resolution map of lens shading,<wbr> per
5275 color channel
5276 </td>
5277
5278 <td class="entry_units">
5279 </td>
5280
5281 <td class="entry_range">
5282 Each gain factor is >= 1
5283 </td>
5284
5285 <td class="entry_notes">
5286 Assume bilinear interpolation of map.<wbr> The least
5287 shaded section of the image should have a gain factor
5288 of 1; all other sections should have gains above
5289 1.<wbr>
5290 </td>
5291
5292 <td class="entry_tags">
5293 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005294 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005295 </ul>
5296 </td>
5297
5298 </tr> <!-- end of entry -->
5299
5300
5301 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5302 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5303 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005304 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005305 <span class="entry_type_container">x</span>
5306
5307 <span class="entry_type_array">
5308 2
5309 </span>
5310
5311 <div class="entry_type_notes">width and height of lens shading map</div>
5312
5313
5314 </td> <!-- entry_type -->
5315
5316 <td class="entry_description">
5317 Dimensions of lens shading
5318 map
5319 </td>
5320
5321 <td class="entry_units">
5322 </td>
5323
5324 <td class="entry_range">
5325 Both values >= 1
5326 </td>
5327
5328 <td class="entry_notes">
5329 </td>
5330
5331 <td class="entry_tags">
5332 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005333 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005334 </ul>
5335 </td>
5336
5337 </tr> <!-- end of entry -->
5338
5339
5340
5341
5342
5343 <tr class="entry" id="static_android.lens.facing">
5344 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5345 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005346 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005347
5348
5349
5350 <ul class="entry_type_enum">
5351 <li>
5352 <span class="entry_type_enum_name">FRONT</span>
5353 </li>
5354 <li>
5355 <span class="entry_type_enum_name">BACK</span>
5356 </li>
5357 </ul>
5358
5359 </td> <!-- entry_type -->
5360
5361 <td class="entry_description">
5362 Direction the camera faces relative to
5363 device screen
5364 </td>
5365
5366 <td class="entry_units">
5367 </td>
5368
5369 <td class="entry_range">
5370 </td>
5371
5372 <td class="entry_notes">
5373 </td>
5374
5375 <td class="entry_tags">
5376 </td>
5377
5378 </tr> <!-- end of entry -->
5379
5380
5381 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5382 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5383 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005384 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005385 <span class="entry_type_container">x</span>
5386
5387 <span class="entry_type_array">
5388 2
5389 </span>
5390
5391 <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>
5392
5393
5394 </td> <!-- entry_type -->
5395
5396 <td class="entry_description">
5397 Relative angle of camera optical axis to the
5398 perpendicular axis from the display
5399 </td>
5400
5401 <td class="entry_units">
5402 </td>
5403
5404 <td class="entry_range">
5405 [0-90) for first angle,<wbr> [0-360) for second
5406 </td>
5407
5408 <td class="entry_notes">
5409 Examples: (0,<wbr>0) means that the camera optical axis
5410 is perpendicular to the display surface; (45,<wbr>0) means
5411 that the camera points 45 degrees up when device is held
5412 upright; (45,<wbr>90) means the camera points 45 degrees to
5413 the right when the device is held upright.<wbr> Use FACING
5414 field to determine perpendicular outgoing
5415 direction
5416 </td>
5417
5418 <td class="entry_tags">
5419 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005420 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005421 </ul>
5422 </td>
5423
5424 </tr> <!-- end of entry -->
5425
5426
5427 <tr class="entry" id="static_android.lens.position">
5428 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5429 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005430 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005431 <span class="entry_type_container">x</span>
5432
5433 <span class="entry_type_array">
5434 3, location in mm, in the sensor coordinate
5435 system
5436 </span>
5437
5438
5439
5440 </td> <!-- entry_type -->
5441
5442 <td class="entry_description">
5443 Coordinates of camera optical axis on
5444 device
5445 </td>
5446
5447 <td class="entry_units">
5448 </td>
5449
5450 <td class="entry_range">
5451 </td>
5452
5453 <td class="entry_notes">
5454 </td>
5455
5456 <td class="entry_tags">
5457 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005458 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005459 </ul>
5460 </td>
5461
5462 </tr> <!-- end of entry -->
5463
5464
5465
5466 <!-- end of kind -->
5467 </tbody>
5468 <tr><td colspan="7" class="kind">dynamic</td></tr>
5469
5470 <thead>
5471 <tr>
5472 <th class="th_name">Property Name</th>
5473 <th class="th_type">Type</th>
5474 <th class="th_description">Description</th>
5475 <th class="th_units">Units</th>
5476 <th class="th_range">Range</th>
5477 <th class="th_notes">Notes</th>
5478 <th class="th_tags">Tags</th>
5479 </tr>
5480 </thead>
5481
5482 <tbody>
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493 <tr class="entry" id="dynamic_android.lens.aperture">
5494 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005496 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005497
5498
5499
5500
5501 </td> <!-- entry_type -->
5502
5503 <td class="entry_description">
5504 Size of the lens aperture
5505 </td>
5506
5507 <td class="entry_units">
5508 f-number (f/<wbr>NNN)
5509 </td>
5510
5511 <td class="entry_range">
5512 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5513 </td>
5514
5515 <td class="entry_notes">
5516 Will not be supported on most devices.<wbr> Can only
5517 pick from supported list
5518 </td>
5519
5520 <td class="entry_tags">
5521 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005522 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005523 </ul>
5524 </td>
5525
5526 </tr> <!-- end of entry -->
5527
5528
5529 <tr class="entry" id="dynamic_android.lens.filterDensity">
5530 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5531 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005532 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005533
5534
5535
5536
5537 </td> <!-- entry_type -->
5538
5539 <td class="entry_description">
5540 State of lens neutral density
5541 filter(s)
5542 </td>
5543
5544 <td class="entry_units">
5545 number of stops of filtering
5546 </td>
5547
5548 <td class="entry_range">
5549 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5550 </td>
5551
5552 <td class="entry_notes">
5553 Will not be supported on most devices.<wbr> Can only
5554 pick from supported list
5555 </td>
5556
5557 <td class="entry_tags">
5558 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005559 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005560 </ul>
5561 </td>
5562
5563 </tr> <!-- end of entry -->
5564
5565
5566 <tr class="entry" id="dynamic_android.lens.focalLength">
5567 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5568 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005569 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005570
5571
5572
5573
5574 </td> <!-- entry_type -->
5575
5576 <td class="entry_description">
5577 Lens optical zoom setting
5578 </td>
5579
5580 <td class="entry_units">
5581 focal length in mm
5582 </td>
5583
5584 <td class="entry_range">
5585 > 0
5586 </td>
5587
5588 <td class="entry_notes">
5589 Will not be supported on most devices.<wbr>
5590 </td>
5591
5592 <td class="entry_tags">
5593 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005594 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005595 </ul>
5596 </td>
5597
5598 </tr> <!-- end of entry -->
5599
5600
5601 <tr class="entry" id="dynamic_android.lens.focusDistance">
5602 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5603 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005604 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005605
5606
5607
5608
5609 </td> <!-- entry_type -->
5610
5611 <td class="entry_description">
5612 Distance to plane of sharpest focus,<wbr>
5613 measured from frontmost surface of the lens
5614 </td>
5615
5616 <td class="entry_units">
5617 diopters (1/<wbr>m)
5618 </td>
5619
5620 <td class="entry_range">
5621 >= 0
5622 </td>
5623
5624 <td class="entry_notes">
5625 Should be zero for fixed-focus cameras
5626 </td>
5627
5628 <td class="entry_tags">
5629 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005630 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005631 </ul>
5632 </td>
5633
5634 </tr> <!-- end of entry -->
5635
5636
5637 <tr class="entry" id="dynamic_android.lens.focusRange">
5638 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
5639 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005640 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005641
5642
5643
5644
5645 </td> <!-- entry_type -->
5646
5647 <td class="entry_description">
5648 The range of scene distances that are in
5649 sharp focus (depth of field)
5650 </td>
5651
5652 <td class="entry_units">
5653 pair of focus distances in diopters: (near,<wbr>
5654 far)
5655 </td>
5656
5657 <td class="entry_range">
5658 >=0
5659 </td>
5660
5661 <td class="entry_notes">
5662 If variable focus not supported,<wbr> can still report
5663 fixed depth of field range
5664 </td>
5665
5666 <td class="entry_tags">
5667 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005668 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005669 </ul>
5670 </td>
5671
5672 </tr> <!-- end of entry -->
5673
5674
5675 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
5676 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5677 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005678 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005679
5680
5681
5682 <ul class="entry_type_enum">
5683 <li>
5684 <span class="entry_type_enum_name">OFF</span>
5685 </li>
5686 <li>
5687 <span class="entry_type_enum_name">ON</span>
5688 <span class="entry_type_enum_optional">optional</span>
5689 </li>
5690 </ul>
5691
5692 </td> <!-- entry_type -->
5693
5694 <td class="entry_description">
5695 Whether optical image stabilization is
5696 enabled.<wbr>
5697 </td>
5698
5699 <td class="entry_units">
5700 </td>
5701
5702 <td class="entry_range">
5703 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5704 </td>
5705
5706 <td class="entry_notes">
5707 Will not be supported on most devices.<wbr>
5708 </td>
5709
5710 <td class="entry_tags">
5711 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005712 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005713 </ul>
5714 </td>
5715
5716 </tr> <!-- end of entry -->
5717
5718
5719 <tr class="entry" id="dynamic_android.lens.state">
5720 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
5721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005722 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005723
5724
5725
5726 <ul class="entry_type_enum">
5727 <li>
5728 <span class="entry_type_enum_name">STATIONARY</span>
5729 </li>
5730 </ul>
5731
5732 </td> <!-- entry_type -->
5733
5734 <td class="entry_description">
5735 Current lens status
5736 </td>
5737
5738 <td class="entry_units">
5739 </td>
5740
5741 <td class="entry_range">
5742 </td>
5743
5744 <td class="entry_notes">
5745 </td>
5746
5747 <td class="entry_tags">
5748 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005749 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005750 </ul>
5751 </td>
5752
5753 </tr> <!-- end of entry -->
5754
5755
5756
5757 <!-- end of kind -->
5758 </tbody>
5759
5760 <!-- end of section -->
5761 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
5762
5763
5764 <tr><td colspan="7" class="kind">controls</td></tr>
5765
5766 <thead>
5767 <tr>
5768 <th class="th_name">Property Name</th>
5769 <th class="th_type">Type</th>
5770 <th class="th_description">Description</th>
5771 <th class="th_units">Units</th>
5772 <th class="th_range">Range</th>
5773 <th class="th_notes">Notes</th>
5774 <th class="th_tags">Tags</th>
5775 </tr>
5776 </thead>
5777
5778 <tbody>
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789 <tr class="entry" id="controls_android.noiseReduction.mode">
5790 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5791 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005792 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005793
5794
5795
5796 <ul class="entry_type_enum">
5797 <li>
5798 <span class="entry_type_enum_name">OFF</span>
5799 <span class="entry_type_enum_notes">No noise reduction is applied</span>
5800 </li>
5801 <li>
5802 <span class="entry_type_enum_name">FAST</span>
5803 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5804 bayer output</span>
5805 </li>
5806 <li>
5807 <span class="entry_type_enum_name">HIGH_QUALITY</span>
5808 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5809 quality</span>
5810 </li>
5811 </ul>
5812
5813 </td> <!-- entry_type -->
5814
5815 <td class="entry_description">
5816 Mode of operation for the noise reduction
5817 algorithm
5818 </td>
5819
5820 <td class="entry_units">
5821 </td>
5822
5823 <td class="entry_range">
5824 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5825 </td>
5826
5827 <td class="entry_notes">
5828 </td>
5829
5830 <td class="entry_tags">
5831 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005832 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005833 </ul>
5834 </td>
5835
5836 </tr> <!-- end of entry -->
5837
5838
5839 <tr class="entry" id="controls_android.noiseReduction.strength">
5840 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
5841 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005842 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005843
5844
5845
5846
5847 </td> <!-- entry_type -->
5848
5849 <td class="entry_description">
5850 Control the amount of noise reduction
5851 applied to the images
5852 </td>
5853
5854 <td class="entry_units">
5855 1-10; 10 is max noise reduction
5856 </td>
5857
5858 <td class="entry_range">
5859 1 - 10
5860 </td>
5861
5862 <td class="entry_notes">
5863 </td>
5864
5865 <td class="entry_tags">
5866 </td>
5867
5868 </tr> <!-- end of entry -->
5869
5870
5871
5872 <!-- end of kind -->
5873 </tbody>
5874 <tr><td colspan="7" class="kind">dynamic</td></tr>
5875
5876 <thead>
5877 <tr>
5878 <th class="th_name">Property Name</th>
5879 <th class="th_type">Type</th>
5880 <th class="th_description">Description</th>
5881 <th class="th_units">Units</th>
5882 <th class="th_range">Range</th>
5883 <th class="th_notes">Notes</th>
5884 <th class="th_tags">Tags</th>
5885 </tr>
5886 </thead>
5887
5888 <tbody>
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899 <tr class="entry" id="dynamic_android.noiseReduction.mode">
5900 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5901 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005902 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005903
5904
5905
5906 <ul class="entry_type_enum">
5907 <li>
5908 <span class="entry_type_enum_name">OFF</span>
5909 <span class="entry_type_enum_notes">No noise reduction is applied</span>
5910 </li>
5911 <li>
5912 <span class="entry_type_enum_name">FAST</span>
5913 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5914 bayer output</span>
5915 </li>
5916 <li>
5917 <span class="entry_type_enum_name">HIGH_QUALITY</span>
5918 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5919 quality</span>
5920 </li>
5921 </ul>
5922
5923 </td> <!-- entry_type -->
5924
5925 <td class="entry_description">
5926 Mode of operation for the noise reduction
5927 algorithm
5928 </td>
5929
5930 <td class="entry_units">
5931 </td>
5932
5933 <td class="entry_range">
5934 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5935 </td>
5936
5937 <td class="entry_notes">
5938 </td>
5939
5940 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005941 <ul class="entry_tags">
5942 <li><a href="#tag_V1">V1</a></li>
5943 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005944 </td>
5945
5946 </tr> <!-- end of entry -->
5947
5948
5949
5950 <!-- end of kind -->
5951 </tbody>
5952
5953 <!-- end of section -->
5954 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
5955
5956
5957 <tr><td colspan="7" class="kind">static</td></tr>
5958
5959 <thead>
5960 <tr>
5961 <th class="th_name">Property Name</th>
5962 <th class="th_type">Type</th>
5963 <th class="th_description">Description</th>
5964 <th class="th_units">Units</th>
5965 <th class="th_range">Range</th>
5966 <th class="th_notes">Notes</th>
5967 <th class="th_tags">Tags</th>
5968 </tr>
5969 </thead>
5970
5971 <tbody>
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982 <tr class="entry" id="static_android.quirks.meteringCropRegion">
5983 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
5984 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005985 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005986
5987
5988
5989
5990 </td> <!-- entry_type -->
5991
5992 <td class="entry_description">
5993 If set to 1,<wbr> the camera service does not
5994 scale 'normalized' coordinates with respect to the crop
5995 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
5996 and output (face rectangles).<wbr>
5997 </td>
5998
5999 <td class="entry_units">
6000 </td>
6001
6002 <td class="entry_range">
6003 </td>
6004
6005 <td class="entry_notes">
6006 Normalized coordinates refer to those in the
6007 (-1000,<wbr>1000) range mentioned in the
6008 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr> HAL implementations should
6009 instead always use and emit sensor array-relative
6010 coordinates for all region data.<wbr> Does not need to be
6011 listed in static metadata.<wbr> Support will be removed in
6012 future versions of camera service.<wbr>
6013 </td>
6014
6015 <td class="entry_tags">
6016 </td>
6017
6018 </tr> <!-- end of entry -->
6019
6020
6021 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6022 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6023 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006024 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006025
6026
6027
6028
6029 </td> <!-- entry_type -->
6030
6031 <td class="entry_description">
6032 If set to 1,<wbr> then the camera service always
6033 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6034 trigger.<wbr>
6035 </td>
6036
6037 <td class="entry_units">
6038 </td>
6039
6040 <td class="entry_range">
6041 </td>
6042
6043 <td class="entry_notes">
6044 HAL implementations should implement AF trigger
6045 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6046 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6047 not need to be listed in static metadata.<wbr> Support will be
6048 removed in future versions of camera service
6049 </td>
6050
6051 <td class="entry_tags">
6052 </td>
6053
6054 </tr> <!-- end of entry -->
6055
6056
6057 <tr class="entry" id="static_android.quirks.useZslFormat">
6058 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6059 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006060 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006061
6062
6063
6064
6065 </td> <!-- entry_type -->
6066
6067 <td class="entry_description">
6068 If set to 1,<wbr> the camera service uses
6069 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6070 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6071 shutter lag stream
6072 </td>
6073
6074 <td class="entry_units">
6075 </td>
6076
6077 <td class="entry_range">
6078 </td>
6079
6080 <td class="entry_notes">
6081 HAL implementations should use gralloc usage flags
6082 to determine that a stream will be used for
6083 zero-shutter-lag,<wbr> instead of relying on an explicit
6084 format setting.<wbr> Does not need to be listed in static
6085 metadata.<wbr> Support will be removed in future versions of
6086 camera service.<wbr>
6087 </td>
6088
6089 <td class="entry_tags">
6090 </td>
6091
6092 </tr> <!-- end of entry -->
6093
6094
6095
6096 <!-- end of kind -->
6097 </tbody>
6098
6099 <!-- end of section -->
6100 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6101
6102
6103 <tr><td colspan="7" class="kind">controls</td></tr>
6104
6105 <thead>
6106 <tr>
6107 <th class="th_name">Property Name</th>
6108 <th class="th_type">Type</th>
6109 <th class="th_description">Description</th>
6110 <th class="th_units">Units</th>
6111 <th class="th_range">Range</th>
6112 <th class="th_notes">Notes</th>
6113 <th class="th_tags">Tags</th>
6114 </tr>
6115 </thead>
6116
6117 <tbody>
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128 <tr class="entry" id="controls_android.request.frameCount">
6129 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6130 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006131 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006132
6133
6134
6135
6136 </td> <!-- entry_type -->
6137
6138 <td class="entry_description">
6139 A frame counter set by the framework.<wbr> Must
6140 be maintained unchanged in output frame
6141 </td>
6142
6143 <td class="entry_units">
6144 incrementing integer
6145 </td>
6146
6147 <td class="entry_range">
6148 Any int
6149 </td>
6150
6151 <td class="entry_notes">
6152 </td>
6153
6154 <td class="entry_tags">
6155 </td>
6156
6157 </tr> <!-- end of entry -->
6158
6159
6160 <tr class="entry" id="controls_android.request.id">
6161 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6162 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006163 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006164
6165
6166
6167
6168 </td> <!-- entry_type -->
6169
6170 <td class="entry_description">
6171 An application-specified ID for the current
6172 request.<wbr> Must be maintained unchanged in output
6173 frame
6174 </td>
6175
6176 <td class="entry_units">
6177 arbitrary integer assigned by application
6178 </td>
6179
6180 <td class="entry_range">
6181 Any int
6182 </td>
6183
6184 <td class="entry_notes">
6185 </td>
6186
6187 <td class="entry_tags">
6188 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006189 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006190 </ul>
6191 </td>
6192
6193 </tr> <!-- end of entry -->
6194
6195
6196 <tr class="entry" id="controls_android.request.inputStreams">
6197 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6198 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006199 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006200
6201
6202
6203
6204 </td> <!-- entry_type -->
6205
6206 <td class="entry_description">
6207 List which camera reprocess stream is used
6208 for the source of reprocessing data.<wbr>
6209 </td>
6210
6211 <td class="entry_units">
6212 List of camera reprocess stream IDs
6213 </td>
6214
6215 <td class="entry_range">
6216 Typically,<wbr> only one entry allowed,<wbr> must be a valid
6217 reprocess stream ID.<wbr> If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is
6218 set,<wbr> then multiple reprocess streams may be included in a
6219 single request; they must be different scaled versions of
6220 the same image.<wbr>
6221 </td>
6222
6223 <td class="entry_notes">
6224 Only meaningful when android.<wbr>request.<wbr>type ==
6225 REPROCESS.<wbr> Ignored otherwise
6226 </td>
6227
6228 <td class="entry_tags">
6229 </td>
6230
6231 </tr> <!-- end of entry -->
6232
6233
6234 <tr class="entry" id="controls_android.request.metadataMode">
6235 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6236 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006237 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006238
6239
6240
6241 <ul class="entry_type_enum">
6242 <li>
6243 <span class="entry_type_enum_name">NONE</span>
6244 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6245 for application-bound buffer data.<wbr> If no
6246 application-bound streams exist,<wbr> no frame should be
6247 placed in the output frame queue.<wbr> If such streams
6248 exist,<wbr> a frame should be placed on the output queue
6249 with null metadata but with the necessary output buffer
6250 information.<wbr> Timestamp information should still be
6251 included with any output stream buffers</span>
6252 </li>
6253 <li>
6254 <span class="entry_type_enum_name">FULL</span>
6255 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6256 only be produced if they are separately
6257 enabled</span>
6258 </li>
6259 </ul>
6260
6261 </td> <!-- entry_type -->
6262
6263 <td class="entry_description">
6264 How much metadata to produce on
6265 output
6266 </td>
6267
6268 <td class="entry_units">
6269 </td>
6270
6271 <td class="entry_range">
6272 </td>
6273
6274 <td class="entry_notes">
6275 </td>
6276
6277 <td class="entry_tags">
6278 </td>
6279
6280 </tr> <!-- end of entry -->
6281
6282
6283 <tr class="entry" id="controls_android.request.outputStreams">
6284 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6285 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006286 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006287
6288
6289
6290
6291 </td> <!-- entry_type -->
6292
6293 <td class="entry_description">
6294 Lists which camera output streams image data
6295 from this capture must be sent to
6296 </td>
6297
6298 <td class="entry_units">
6299 List of camera stream IDs
6300 </td>
6301
6302 <td class="entry_range">
6303 List must only include streams that have been
6304 created
6305 </td>
6306
6307 <td class="entry_notes">
6308 If no output streams are listed,<wbr> then the image
6309 data should simply be discarded.<wbr> The image data must
6310 still be captured for metadata and statistics production,<wbr>
6311 and the lens and flash must operate as requested.<wbr>
6312 </td>
6313
6314 <td class="entry_tags">
6315 </td>
6316
6317 </tr> <!-- end of entry -->
6318
6319
6320 <tr class="entry" id="controls_android.request.type">
6321 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006323 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006324
6325
6326
6327 <ul class="entry_type_enum">
6328 <li>
6329 <span class="entry_type_enum_name">CAPTURE</span>
6330 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6331 and process it according to the
6332 settings</span>
6333 </li>
6334 <li>
6335 <span class="entry_type_enum_name">REPROCESS</span>
6336 <span class="entry_type_enum_notes">Process previously captured data; the
6337 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6338 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6339 needed for reprocessing with [RP]</span>
6340 </li>
6341 </ul>
6342
6343 </td> <!-- entry_type -->
6344
6345 <td class="entry_description">
6346 The type of the request; either CAPTURE or
6347 REPROCESS
6348 </td>
6349
6350 <td class="entry_units">
6351 </td>
6352
6353 <td class="entry_range">
6354 </td>
6355
6356 <td class="entry_notes">
6357 </td>
6358
6359 <td class="entry_tags">
6360 </td>
6361
6362 </tr> <!-- end of entry -->
6363
6364
6365
6366 <!-- end of kind -->
6367 </tbody>
6368 <tr><td colspan="7" class="kind">static</td></tr>
6369
6370 <thead>
6371 <tr>
6372 <th class="th_name">Property Name</th>
6373 <th class="th_type">Type</th>
6374 <th class="th_description">Description</th>
6375 <th class="th_units">Units</th>
6376 <th class="th_range">Range</th>
6377 <th class="th_notes">Notes</th>
6378 <th class="th_tags">Tags</th>
6379 </tr>
6380 </thead>
6381
6382 <tbody>
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6394 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6395 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006396 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006397 <span class="entry_type_container">x</span>
6398
6399 <span class="entry_type_array">
6400 3
6401 </span>
6402
6403
6404
6405 </td> <!-- entry_type -->
6406
6407 <td class="entry_description">
6408 How many output streams can be allocated at
6409 the same time for each type of stream
6410 </td>
6411
6412 <td class="entry_units">
6413 The number of raw sensor streams; the number of
6414 processed,<wbr> uncompressed streams; and the number of
6415 JPEG-compressed streams
6416 </td>
6417
6418 <td class="entry_range">
6419 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6420 for processed,<wbr> uncompressed streams
6421 </td>
6422
6423 <td class="entry_notes">
6424 Video snapshot with preview callbacks requires 3
6425 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6426 one JPEG stream (snapshot)
6427 </td>
6428
6429 <td class="entry_tags">
6430 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006431 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006432 </ul>
6433 </td>
6434
6435 </tr> <!-- end of entry -->
6436
6437
6438 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6439 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6440 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006441 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006442 <span class="entry_type_container">x</span>
6443
6444 <span class="entry_type_array">
6445 1
6446 </span>
6447
6448
6449
6450 </td> <!-- entry_type -->
6451
6452 <td class="entry_description">
6453 How many reprocessing streams of any type
6454 can be allocated at the same time
6455 </td>
6456
6457 <td class="entry_units">
6458 </td>
6459
6460 <td class="entry_range">
6461 >= 1
6462 </td>
6463
6464 <td class="entry_notes">
6465 </td>
6466
6467 <td class="entry_tags">
6468 </td>
6469
6470 </tr> <!-- end of entry -->
6471
6472
6473
6474 <!-- end of kind -->
6475 </tbody>
6476 <tr><td colspan="7" class="kind">dynamic</td></tr>
6477
6478 <thead>
6479 <tr>
6480 <th class="th_name">Property Name</th>
6481 <th class="th_type">Type</th>
6482 <th class="th_description">Description</th>
6483 <th class="th_units">Units</th>
6484 <th class="th_range">Range</th>
6485 <th class="th_notes">Notes</th>
6486 <th class="th_tags">Tags</th>
6487 </tr>
6488 </thead>
6489
6490 <tbody>
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501 <tr class="entry" id="dynamic_android.request.frameCount">
6502 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6503 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006504 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006505
6506
6507
6508
6509 </td> <!-- entry_type -->
6510
6511 <td class="entry_description">
6512 Number of frames captured since
6513 open()
6514 </td>
6515
6516 <td class="entry_units">
6517 count of frames
6518 </td>
6519
6520 <td class="entry_range">
6521 > 0
6522 </td>
6523
6524 <td class="entry_notes">
6525 Reset on release()
6526 </td>
6527
6528 <td class="entry_tags">
6529 </td>
6530
6531 </tr> <!-- end of entry -->
6532
6533
6534 <tr class="entry" id="dynamic_android.request.id">
6535 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6536 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006537 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006538
6539
6540
6541
6542 </td> <!-- entry_type -->
6543
6544 <td class="entry_description">
6545 An application-specified ID for the current
6546 request.<wbr> Must be maintained unchanged in output
6547 frame
6548 </td>
6549
6550 <td class="entry_units">
6551 arbitrary integer assigned by application
6552 </td>
6553
6554 <td class="entry_range">
6555 Any int
6556 </td>
6557
6558 <td class="entry_notes">
6559 </td>
6560
6561 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006562 <ul class="entry_tags">
6563 <li><a href="#tag_V1">V1</a></li>
6564 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006565 </td>
6566
6567 </tr> <!-- end of entry -->
6568
6569
6570 <tr class="entry" id="dynamic_android.request.metadataMode">
6571 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006573 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006574
6575
6576
6577 <ul class="entry_type_enum">
6578 <li>
6579 <span class="entry_type_enum_name">NONE</span>
6580 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6581 for application-bound buffer data.<wbr> If no
6582 application-bound streams exist,<wbr> no frame should be
6583 placed in the output frame queue.<wbr> If such streams
6584 exist,<wbr> a frame should be placed on the output queue
6585 with null metadata but with the necessary output buffer
6586 information.<wbr> Timestamp information should still be
6587 included with any output stream buffers</span>
6588 </li>
6589 <li>
6590 <span class="entry_type_enum_name">FULL</span>
6591 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6592 only be produced if they are separately
6593 enabled</span>
6594 </li>
6595 </ul>
6596
6597 </td> <!-- entry_type -->
6598
6599 <td class="entry_description">
6600 How much metadata to produce on
6601 output
6602 </td>
6603
6604 <td class="entry_units">
6605 </td>
6606
6607 <td class="entry_range">
6608 </td>
6609
6610 <td class="entry_notes">
6611 </td>
6612
6613 <td class="entry_tags">
6614 </td>
6615
6616 </tr> <!-- end of entry -->
6617
6618
6619 <tr class="entry" id="dynamic_android.request.outputStreams">
6620 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6621 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006622 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006623
6624
6625
6626
6627 </td> <!-- entry_type -->
6628
6629 <td class="entry_description">
6630 Lists which camera output streams image data
6631 from this capture must be sent to
6632 </td>
6633
6634 <td class="entry_units">
6635 List of camera stream IDs
6636 </td>
6637
6638 <td class="entry_range">
6639 List must only include streams that have been
6640 created
6641 </td>
6642
6643 <td class="entry_notes">
6644 If no output streams are listed,<wbr> then the image
6645 data should simply be discarded.<wbr> The image data must
6646 still be captured for metadata and statistics production,<wbr>
6647 and the lens and flash must operate as requested.<wbr>
6648 </td>
6649
6650 <td class="entry_tags">
6651 </td>
6652
6653 </tr> <!-- end of entry -->
6654
6655
6656
6657 <!-- end of kind -->
6658 </tbody>
6659
6660 <!-- end of section -->
6661 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
6662
6663
6664 <tr><td colspan="7" class="kind">controls</td></tr>
6665
6666 <thead>
6667 <tr>
6668 <th class="th_name">Property Name</th>
6669 <th class="th_type">Type</th>
6670 <th class="th_description">Description</th>
6671 <th class="th_units">Units</th>
6672 <th class="th_range">Range</th>
6673 <th class="th_notes">Notes</th>
6674 <th class="th_tags">Tags</th>
6675 </tr>
6676 </thead>
6677
6678 <tbody>
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689 <tr class="entry" id="controls_android.scaler.cropRegion">
6690 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
6691 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006692 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006693 <span class="entry_type_container">x</span>
6694
6695 <span class="entry_type_array">
6696 3
6697 </span>
6698
6699
6700
6701 </td> <!-- entry_type -->
6702
6703 <td class="entry_description">
6704 Top-left corner and width of the output
6705 region to select from the active pixel
6706 array
6707 </td>
6708
6709 <td class="entry_units">
6710 (x,<wbr>y) of top-left corner,<wbr> width of region in
6711 pixels; (0,<wbr>0) is top-left corner of
6712 android.<wbr>sensor.<wbr>active<wbr>Pixel<wbr>Array
6713 </td>
6714
6715 <td class="entry_range">
6716 </td>
6717
6718 <td class="entry_notes">
6719 [BC - zoom] Height determined based on width and
6720 aspect ratio of output stream.<wbr> Negative values for corner
6721 are allowed for raw output if full pixel array is larger
6722 than active pixel array.<wbr> Width may be rounded to nearest
6723 larger supportable width,<wbr> especially for raw output,<wbr>
6724 where only a few fixed scales may be possible
6725 </td>
6726
6727 <td class="entry_tags">
6728 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006729 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006730 </ul>
6731 </td>
6732
6733 </tr> <!-- end of entry -->
6734
6735
6736
6737 <!-- end of kind -->
6738 </tbody>
6739 <tr><td colspan="7" class="kind">static</td></tr>
6740
6741 <thead>
6742 <tr>
6743 <th class="th_name">Property Name</th>
6744 <th class="th_type">Type</th>
6745 <th class="th_description">Description</th>
6746 <th class="th_units">Units</th>
6747 <th class="th_range">Range</th>
6748 <th class="th_notes">Notes</th>
6749 <th class="th_tags">Tags</th>
6750 </tr>
6751 </thead>
6752
6753 <tbody>
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764 <tr class="entry" id="static_android.scaler.availableFormats">
6765 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
6766 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006767 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006768 <span class="entry_type_container">x</span>
6769
6770 <span class="entry_type_array">
6771 n
6772 </span>
6773
6774 <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>
6775
6776 <ul class="entry_type_enum">
6777 <li>
6778 <span class="entry_type_enum_name">RAW_SENSOR</span>
6779 <span class="entry_type_enum_value">0x20</span>
6780 </li>
6781 <li>
6782 <span class="entry_type_enum_name">YV12</span>
6783 <span class="entry_type_enum_value">0x32315659</span>
6784 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
6785 </li>
6786 <li>
6787 <span class="entry_type_enum_name">YCbCr_420_SP</span>
6788 <span class="entry_type_enum_value">0x11</span>
6789 <span class="entry_type_enum_notes">NV21</span>
6790 </li>
6791 <li>
6792 <span class="entry_type_enum_name">JPEG</span>
6793 <span class="entry_type_enum_value">0x21</span>
6794 <span class="entry_type_enum_notes">BLOB</span>
6795 </li>
6796 </ul>
6797
6798 </td> <!-- entry_type -->
6799
6800 <td class="entry_description">
6801 List of app-visible formats
6802 </td>
6803
6804 <td class="entry_units">
6805 </td>
6806
6807 <td class="entry_range">
6808 </td>
6809
6810 <td class="entry_notes">
6811 </td>
6812
6813 <td class="entry_tags">
6814 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006815 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006816 </ul>
6817 </td>
6818
6819 </tr> <!-- end of entry -->
6820
6821
6822 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
6823 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
6824 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006825 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006826 <span class="entry_type_container">x</span>
6827
6828 <span class="entry_type_array">
6829 n
6830 </span>
6831
6832
6833
6834 </td> <!-- entry_type -->
6835
6836 <td class="entry_description">
6837 The minimum frame duration that is supported
6838 for each resolution in availableJpegSizes.<wbr> Should
6839 correspond to the frame duration when only that JPEG
6840 stream is active,<wbr> with all processing set to
6841 FAST
6842 </td>
6843
6844 <td class="entry_units">
6845 </td>
6846
6847 <td class="entry_range">
6848 </td>
6849
6850 <td class="entry_notes">
6851 When multiple streams are configured,<wbr> the minimum
6852 frame duration will be >= max(individual stream min
6853 durations)
6854 </td>
6855
6856 <td class="entry_tags">
6857 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006858 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006859 </ul>
6860 </td>
6861
6862 </tr> <!-- end of entry -->
6863
6864
6865 <tr class="entry" id="static_android.scaler.availableJpegSizes">
6866 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
6867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006868 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869 <span class="entry_type_container">x</span>
6870
6871 <span class="entry_type_array">
6872 n x 2
6873 </span>
6874
6875
6876
6877 </td> <!-- entry_type -->
6878
6879 <td class="entry_description">
6880 The resolutions available for output from
6881 the JPEG block.<wbr> Listed as width x height
6882 </td>
6883
6884 <td class="entry_units">
6885 </td>
6886
6887 <td class="entry_range">
6888 Must include: - sensor maximum resolution Should
6889 include: - half/<wbr>quarter max resolution
6890 </td>
6891
6892 <td class="entry_notes">
6893 </td>
6894
6895 <td class="entry_tags">
6896 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006897 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006898 </ul>
6899 </td>
6900
6901 </tr> <!-- end of entry -->
6902
6903
6904 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
6905 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
6906 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006907 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006908
6909
6910
6911
6912 </td> <!-- entry_type -->
6913
6914 <td class="entry_description">
6915 TODO: have a real description here
6916 </td>
6917
6918 <td class="entry_units">
6919 </td>
6920
6921 <td class="entry_range">
6922 </td>
6923
6924 <td class="entry_notes">
6925 </td>
6926
6927 <td class="entry_tags">
6928 </td>
6929
6930 </tr> <!-- end of entry -->
6931
6932
6933 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
6934 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
6935 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006936 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006937 <span class="entry_type_container">x</span>
6938
6939 <span class="entry_type_array">
6940 n
6941 </span>
6942
6943
6944
6945 </td> <!-- entry_type -->
6946
6947 <td class="entry_description">
6948 The minimum frame duration that is supported
6949 for each resolution in availableProcessedSizes.<wbr> Should
6950 correspond to the frame duration when only that processed
6951 stream is active,<wbr> with all processing set to
6952 FAST
6953 </td>
6954
6955 <td class="entry_units">
6956 </td>
6957
6958 <td class="entry_range">
6959 </td>
6960
6961 <td class="entry_notes">
6962 When multiple streams are configured,<wbr> the minimum
6963 frame duration will be >= max(individual stream min
6964 durations)
6965 </td>
6966
6967 <td class="entry_tags">
6968 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006969 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006970 </ul>
6971 </td>
6972
6973 </tr> <!-- end of entry -->
6974
6975
6976 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
6977 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
6978 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006979 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006980 <span class="entry_type_container">x</span>
6981
6982 <span class="entry_type_array">
6983 n x 2
6984 </span>
6985
6986
6987
6988 </td> <!-- entry_type -->
6989
6990 <td class="entry_description">
6991 The resolutions available for use with
6992 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
6993 platform opaque YUV/<wbr>RGB streams to the GPU or video
6994 encoders.<wbr> Listed as width,<wbr> height
6995 </td>
6996
6997 <td class="entry_units">
6998 </td>
6999
7000 <td class="entry_range">
7001 Must include: - sensor maximum resolution -
7002 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7003 resolutions
7004 </td>
7005
7006 <td class="entry_notes">
7007 </td>
7008
7009 <td class="entry_tags">
7010 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007011 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007012 </ul>
7013 </td>
7014
7015 </tr> <!-- end of entry -->
7016
7017
7018 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7019 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7020 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007021 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007022 <span class="entry_type_container">x</span>
7023
7024 <span class="entry_type_array">
7025 n
7026 </span>
7027
7028
7029
7030 </td> <!-- entry_type -->
7031
7032 <td class="entry_description">
7033 The minimum frame duration that is supported
7034 for each raw resolution in availableRawSizes.<wbr> Should
7035 correspond to the frame duration when only the raw stream
7036 is active.<wbr>
7037 </td>
7038
7039 <td class="entry_units">
7040 </td>
7041
7042 <td class="entry_range">
7043 </td>
7044
7045 <td class="entry_notes">
7046 When multiple streams are configured,<wbr> the minimum
7047 frame duration will be >= max(individual stream min
7048 durations)
7049 </td>
7050
7051 <td class="entry_tags">
7052 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007053 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007054 </ul>
7055 </td>
7056
7057 </tr> <!-- end of entry -->
7058
7059
7060 <tr class="entry" id="static_android.scaler.availableRawSizes">
7061 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7062 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007063 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007064 <span class="entry_type_container">x</span>
7065
7066 <span class="entry_type_array">
7067 n x 2
7068 </span>
7069
7070
7071
7072 </td> <!-- entry_type -->
7073
7074 <td class="entry_description">
7075 The resolutions available for use with raw
7076 sensor output streams,<wbr> listed as width,<wbr>
7077 height
7078 </td>
7079
7080 <td class="entry_units">
7081 </td>
7082
7083 <td class="entry_range">
7084 Must include: - sensor maximum resolution
7085 </td>
7086
7087 <td class="entry_notes">
7088 </td>
7089
7090 <td class="entry_tags">
7091 </td>
7092
7093 </tr> <!-- end of entry -->
7094
7095
7096 <tr class="entry" id="static_android.scaler.maxDigitalZoom">
7097 <td class="entry_name">android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom</td>
7098 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007099 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007100
7101
7102
7103
7104 </td> <!-- entry_type -->
7105
7106 <td class="entry_description">
7107 The maximum ratio between active area width
7108 and crop region width,<wbr> or between active area height and
7109 crop region height,<wbr> if the crop region height is larger
7110 than width
7111 </td>
7112
7113 <td class="entry_units">
7114 </td>
7115
7116 <td class="entry_range">
7117 >=1
7118 </td>
7119
7120 <td class="entry_notes">
7121 </td>
7122
7123 <td class="entry_tags">
7124 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007125 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007126 </ul>
7127 </td>
7128
7129 </tr> <!-- end of entry -->
7130
7131
7132
7133 <!-- end of kind -->
7134 </tbody>
7135 <tr><td colspan="7" class="kind">dynamic</td></tr>
7136
7137 <thead>
7138 <tr>
7139 <th class="th_name">Property Name</th>
7140 <th class="th_type">Type</th>
7141 <th class="th_description">Description</th>
7142 <th class="th_units">Units</th>
7143 <th class="th_range">Range</th>
7144 <th class="th_notes">Notes</th>
7145 <th class="th_tags">Tags</th>
7146 </tr>
7147 </thead>
7148
7149 <tbody>
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7161 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7162 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007163 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007164 <span class="entry_type_container">x</span>
7165
7166 <span class="entry_type_array">
7167 3
7168 </span>
7169
7170
7171
7172 </td> <!-- entry_type -->
7173
7174 <td class="entry_description">
7175 Top-left corner and width of the output
7176 region to select from the active pixel
7177 array
7178 </td>
7179
7180 <td class="entry_units">
7181 (x,<wbr>y) of top-left corner,<wbr> width of region in
7182 pixels; (0,<wbr>0) is top-left corner of
7183 android.<wbr>sensor.<wbr>active<wbr>Pixel<wbr>Array
7184 </td>
7185
7186 <td class="entry_range">
7187 </td>
7188
7189 <td class="entry_notes">
7190 [BC - zoom] Height determined based on width and
7191 aspect ratio of output stream.<wbr> Negative values for corner
7192 are allowed for raw output if full pixel array is larger
7193 than active pixel array.<wbr> Width may be rounded to nearest
7194 larger supportable width,<wbr> especially for raw output,<wbr>
7195 where only a few fixed scales may be possible
7196 </td>
7197
7198 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007199 <ul class="entry_tags">
7200 <li><a href="#tag_BC">BC</a></li>
7201 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007202 </td>
7203
7204 </tr> <!-- end of entry -->
7205
7206
7207
7208 <!-- end of kind -->
7209 </tbody>
7210
7211 <!-- end of section -->
7212 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7213
7214
7215 <tr><td colspan="7" class="kind">controls</td></tr>
7216
7217 <thead>
7218 <tr>
7219 <th class="th_name">Property Name</th>
7220 <th class="th_type">Type</th>
7221 <th class="th_description">Description</th>
7222 <th class="th_units">Units</th>
7223 <th class="th_range">Range</th>
7224 <th class="th_notes">Notes</th>
7225 <th class="th_tags">Tags</th>
7226 </tr>
7227 </thead>
7228
7229 <tbody>
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240 <tr class="entry" id="controls_android.sensor.exposureTime">
7241 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7242 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007243 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007244
7245
7246
7247
7248 </td> <!-- entry_type -->
7249
7250 <td class="entry_description">
7251 Duration each pixel is exposed to
7252 light
7253 </td>
7254
7255 <td class="entry_units">
7256 nanoseconds
7257 </td>
7258
7259 <td class="entry_range">
7260 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7261 </td>
7262
7263 <td class="entry_notes">
7264 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7265 </td>
7266
7267 <td class="entry_tags">
7268 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007269 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007270 </ul>
7271 </td>
7272
7273 </tr> <!-- end of entry -->
7274
7275
7276 <tr class="entry" id="controls_android.sensor.frameDuration">
7277 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7278 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007279 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007280
7281
7282
7283
7284 </td> <!-- entry_type -->
7285
7286 <td class="entry_description">
7287 Duration from start of frame exposure to
7288 start of next frame exposure
7289 </td>
7290
7291 <td class="entry_units">
7292 nanoseconds
7293 </td>
7294
7295 <td class="entry_range">
7296 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7297 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7298 </td>
7299
7300 <td class="entry_notes">
7301 Exposure time has priority,<wbr> so duration is set to
7302 max(duration,<wbr> exposure time + overhead)
7303 </td>
7304
7305 <td class="entry_tags">
7306 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007307 <li><a href="#tag_V1">V1</a></li>
7308 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007309 </ul>
7310 </td>
7311
7312 </tr> <!-- end of entry -->
7313
7314
7315 <tr class="entry" id="controls_android.sensor.sensitivity">
7316 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7317 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007318 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007319
7320
7321
7322
7323 </td> <!-- entry_type -->
7324
7325 <td class="entry_description">
7326 Gain applied to image data.<wbr> Must be
7327 implemented through analog gain only if set to values
7328 below 'maximum analog sensitivity'.<wbr>
7329 </td>
7330
7331 <td class="entry_units">
7332 ISO arithmetic units
7333 </td>
7334
7335 <td class="entry_range">
7336 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7337 </td>
7338
7339 <td class="entry_notes">
7340 ISO 12232:2006 REI method
7341 </td>
7342
7343 <td class="entry_tags">
7344 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007345 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007346 </ul>
7347 </td>
7348
7349 </tr> <!-- end of entry -->
7350
7351
7352
7353 <!-- end of kind -->
7354 </tbody>
7355 <tr><td colspan="7" class="kind">static</td></tr>
7356
7357 <thead>
7358 <tr>
7359 <th class="th_name">Property Name</th>
7360 <th class="th_type">Type</th>
7361 <th class="th_description">Description</th>
7362 <th class="th_units">Units</th>
7363 <th class="th_range">Range</th>
7364 <th class="th_notes">Notes</th>
7365 <th class="th_tags">Tags</th>
7366 </tr>
7367 </thead>
7368
7369 <tbody>
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7383 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7384 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007385 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007386 <span class="entry_type_container">x</span>
7387
7388 <span class="entry_type_array">
7389 4
7390 </span>
7391
7392 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7393
7394
7395 </td> <!-- entry_type -->
7396
7397 <td class="entry_description">
7398 Area of raw data which corresponds to only
7399 active pixels; smaller or equal to
7400 pixelArraySize.<wbr>
7401 </td>
7402
7403 <td class="entry_units">
7404 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7405 pixel array is (0,<wbr>0)
7406 </td>
7407
7408 <td class="entry_range">
7409 </td>
7410
7411 <td class="entry_notes">
7412 </td>
7413
7414 <td class="entry_tags">
7415 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007416 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007417 </ul>
7418 </td>
7419
7420 </tr> <!-- end of entry -->
7421
7422
7423 <tr class="entry" id="static_android.sensor.info.availableSensitivities">
7424 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>available<wbr>Sensitivities</td>
7425 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007426 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007427 <span class="entry_type_container">x</span>
7428
7429 <span class="entry_type_array">
7430 n
7431 </span>
7432
7433 <div class="entry_type_notes">List of supported sensitivity values</div>
7434
7435
7436 </td> <!-- entry_type -->
7437
7438 <td class="entry_description">
7439 Range of valid sensitivities
7440 </td>
7441
7442 <td class="entry_units">
7443 </td>
7444
7445 <td class="entry_range">
7446 Must at least include 100,<wbr> 200,<wbr> 400,<wbr> 800,<wbr>
7447 1600
7448 </td>
7449
7450 <td class="entry_notes">
7451 </td>
7452
7453 <td class="entry_tags">
7454 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007455 <li><a href="#tag_BC">BC</a></li>
7456 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457 </ul>
7458 </td>
7459
7460 </tr> <!-- end of entry -->
7461
7462
7463 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7464 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7465 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007466 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007467
7468
7469
7470 <ul class="entry_type_enum">
7471 <li>
7472 <span class="entry_type_enum_name">RGGB</span>
7473 </li>
7474 <li>
7475 <span class="entry_type_enum_name">GRBG</span>
7476 </li>
7477 <li>
7478 <span class="entry_type_enum_name">GBRG</span>
7479 </li>
7480 <li>
7481 <span class="entry_type_enum_name">BGGR</span>
7482 </li>
7483 <li>
7484 <span class="entry_type_enum_name">RGB</span>
7485 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7486 values for each pixel,<wbr> instead of just 1 16-bit value
7487 per pixel.<wbr></span>
7488 </li>
7489 </ul>
7490
7491 </td> <!-- entry_type -->
7492
7493 <td class="entry_description">
7494 Arrangement of color filters on sensor;
7495 represents the colors in the top-left 2x2 section of
7496 the sensor,<wbr> in reading order
7497 </td>
7498
7499 <td class="entry_units">
7500 </td>
7501
7502 <td class="entry_range">
7503 </td>
7504
7505 <td class="entry_notes">
7506 </td>
7507
7508 <td class="entry_tags">
7509 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007510 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007511 </ul>
7512 </td>
7513
7514 </tr> <!-- end of entry -->
7515
7516
7517 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7518 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7519 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007520 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007521 <span class="entry_type_container">x</span>
7522
7523 <span class="entry_type_array">
7524 2
7525 </span>
7526
7527 <div class="entry_type_notes">nanoseconds</div>
7528
7529
7530 </td> <!-- entry_type -->
7531
7532 <td class="entry_description">
7533 Range of valid exposure
7534 times
7535 </td>
7536
7537 <td class="entry_units">
7538 </td>
7539
7540 <td class="entry_range">
7541 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
7542 sec)
7543 </td>
7544
7545 <td class="entry_notes">
7546 </td>
7547
7548 <td class="entry_tags">
7549 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007550 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007551 </ul>
7552 </td>
7553
7554 </tr> <!-- end of entry -->
7555
7556
7557 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
7558 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
7559 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007560 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007561
7562
7563
7564
7565 </td> <!-- entry_type -->
7566
7567 <td class="entry_description">
7568 Maximum frame duration (minimum frame
7569 rate)
7570 </td>
7571
7572 <td class="entry_units">
7573 nanoseconds
7574 </td>
7575
7576 <td class="entry_range">
7577 >= 30e9
7578 </td>
7579
7580 <td class="entry_notes">
7581 Minimum duration is a function of resolution,<wbr>
7582 processing settings.<wbr> See
7583 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7584 </td>
7585
7586 <td class="entry_tags">
7587 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007588 <li><a href="#tag_BC">BC</a></li>
7589 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007590 </ul>
7591 </td>
7592
7593 </tr> <!-- end of entry -->
7594
7595
7596 <tr class="entry" id="static_android.sensor.info.physicalSize">
7597 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
7598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007599 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007600 <span class="entry_type_container">x</span>
7601
7602 <span class="entry_type_array">
7603 2
7604 </span>
7605
7606 <div class="entry_type_notes">width x height in millimeters</div>
7607
7608
7609 </td> <!-- entry_type -->
7610
7611 <td class="entry_description">
7612 The physical dimensions of the full pixel
7613 array
7614 </td>
7615
7616 <td class="entry_units">
7617 </td>
7618
7619 <td class="entry_range">
7620 </td>
7621
7622 <td class="entry_notes">
7623 Needed for FOV calculation for old API
7624 </td>
7625
7626 <td class="entry_tags">
7627 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007628 <li><a href="#tag_V1">V1</a></li>
7629 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007630 </ul>
7631 </td>
7632
7633 </tr> <!-- end of entry -->
7634
7635
7636 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
7637 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
7638 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007639 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007640 <span class="entry_type_container">x</span>
7641
7642 <span class="entry_type_array">
7643 2
7644 </span>
7645
7646
7647
7648 </td> <!-- entry_type -->
7649
7650 <td class="entry_description">
7651 Dimensions of full pixel array,<wbr> possibly
7652 including black calibration pixels
7653 </td>
7654
7655 <td class="entry_units">
7656 </td>
7657
7658 <td class="entry_range">
7659 </td>
7660
7661 <td class="entry_notes">
7662 Maximum output resolution for raw format must
7663 match this in
7664 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
7665 </td>
7666
7667 <td class="entry_tags">
7668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007669 <li><a href="#tag_DNG">DNG</a></li>
7670 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007671 </ul>
7672 </td>
7673
7674 </tr> <!-- end of entry -->
7675
7676
7677 <tr class="entry" id="static_android.sensor.info.whiteLevel">
7678 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
7679 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007680 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007681
7682
7683
7684
7685 </td> <!-- entry_type -->
7686
7687 <td class="entry_description">
7688 Maximum raw value output by
7689 sensor
7690 </td>
7691
7692 <td class="entry_units">
7693 </td>
7694
7695 <td class="entry_range">
7696 > 1024 (10-bit output)
7697 </td>
7698
7699 <td class="entry_notes">
7700 Defines sensor bit depth (10-14 bits is
7701 expected)
7702 </td>
7703
7704 <td class="entry_tags">
7705 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007706 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007707 </ul>
7708 </td>
7709
7710 </tr> <!-- end of entry -->
7711
7712
7713
7714
7715
7716 <tr class="entry" id="static_android.sensor.baseGainFactor">
7717 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
7718 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007719 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007720
7721
7722
7723
7724 </td> <!-- entry_type -->
7725
7726 <td class="entry_description">
7727 Gain factor from electrons to raw units when
7728 ISO=100
7729 </td>
7730
7731 <td class="entry_units">
7732 </td>
7733
7734 <td class="entry_range">
7735 </td>
7736
7737 <td class="entry_notes">
7738 </td>
7739
7740 <td class="entry_tags">
7741 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007742 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007743 </ul>
7744 </td>
7745
7746 </tr> <!-- end of entry -->
7747
7748
7749 <tr class="entry" id="static_android.sensor.blackLevelPattern">
7750 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
7751 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007752 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007753 <span class="entry_type_container">x</span>
7754
7755 <span class="entry_type_array">
7756 4
7757 </span>
7758
7759 <div class="entry_type_notes">2x2 raw count block</div>
7760
7761
7762 </td> <!-- entry_type -->
7763
7764 <td class="entry_description">
7765 A fixed black level offset for each of the
7766 Bayer mosaic channels
7767 </td>
7768
7769 <td class="entry_units">
7770 </td>
7771
7772 <td class="entry_range">
7773 >= 0 each
7774 </td>
7775
7776 <td class="entry_notes">
7777 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
7778 tags
7779 </td>
7780
7781 <td class="entry_tags">
7782 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007783 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007784 </ul>
7785 </td>
7786
7787 </tr> <!-- end of entry -->
7788
7789
7790 <tr class="entry" id="static_android.sensor.calibrationTransform1">
7791 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
7792 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007793 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007794 <span class="entry_type_container">x</span>
7795
7796 <span class="entry_type_array">
7797 9
7798 </span>
7799
7800 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7801
7802
7803 </td> <!-- entry_type -->
7804
7805 <td class="entry_description">
7806 Per-device calibration on top of color space
7807 transform 1
7808 </td>
7809
7810 <td class="entry_units">
7811 </td>
7812
7813 <td class="entry_range">
7814 </td>
7815
7816 <td class="entry_notes">
7817 </td>
7818
7819 <td class="entry_tags">
7820 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007821 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007822 </ul>
7823 </td>
7824
7825 </tr> <!-- end of entry -->
7826
7827
7828 <tr class="entry" id="static_android.sensor.calibrationTransform2">
7829 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
7830 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007831 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007832 <span class="entry_type_container">x</span>
7833
7834 <span class="entry_type_array">
7835 9
7836 </span>
7837
7838 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7839
7840
7841 </td> <!-- entry_type -->
7842
7843 <td class="entry_description">
7844 Per-device calibration on top of color space
7845 transform 2
7846 </td>
7847
7848 <td class="entry_units">
7849 </td>
7850
7851 <td class="entry_range">
7852 </td>
7853
7854 <td class="entry_notes">
7855 </td>
7856
7857 <td class="entry_tags">
7858 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007859 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007860 </ul>
7861 </td>
7862
7863 </tr> <!-- end of entry -->
7864
7865
7866 <tr class="entry" id="static_android.sensor.colorTransform1">
7867 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
7868 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007869 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007870 <span class="entry_type_container">x</span>
7871
7872 <span class="entry_type_array">
7873 9
7874 </span>
7875
7876 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7877
7878
7879 </td> <!-- entry_type -->
7880
7881 <td class="entry_description">
7882 Linear mapping from XYZ (D50) color space to
7883 reference linear sensor color,<wbr> for first reference
7884 illuminant
7885 </td>
7886
7887 <td class="entry_units">
7888 </td>
7889
7890 <td class="entry_range">
7891 </td>
7892
7893 <td class="entry_notes">
7894 Use as follows XYZ = inv(transform) * clip( (raw -
7895 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
7896 At least in the simple case
7897 </td>
7898
7899 <td class="entry_tags">
7900 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007901 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007902 </ul>
7903 </td>
7904
7905 </tr> <!-- end of entry -->
7906
7907
7908 <tr class="entry" id="static_android.sensor.colorTransform2">
7909 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
7910 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007911 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 <span class="entry_type_container">x</span>
7913
7914 <span class="entry_type_array">
7915 9
7916 </span>
7917
7918 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7919
7920
7921 </td> <!-- entry_type -->
7922
7923 <td class="entry_description">
7924 Linear mapping from XYZ (D50) color space to
7925 reference linear sensor color,<wbr> for second reference
7926 illuminant
7927 </td>
7928
7929 <td class="entry_units">
7930 </td>
7931
7932 <td class="entry_range">
7933 </td>
7934
7935 <td class="entry_notes">
7936 </td>
7937
7938 <td class="entry_tags">
7939 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007940 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007941 </ul>
7942 </td>
7943
7944 </tr> <!-- end of entry -->
7945
7946
7947 <tr class="entry" id="static_android.sensor.forwardMatrix1">
7948 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
7949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007950 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007951 <span class="entry_type_container">x</span>
7952
7953 <span class="entry_type_array">
7954 9
7955 </span>
7956
7957 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7958
7959
7960 </td> <!-- entry_type -->
7961
7962 <td class="entry_description">
7963 Used by DNG for better WB
7964 adaptation
7965 </td>
7966
7967 <td class="entry_units">
7968 </td>
7969
7970 <td class="entry_range">
7971 </td>
7972
7973 <td class="entry_notes">
7974 </td>
7975
7976 <td class="entry_tags">
7977 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007978 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007979 </ul>
7980 </td>
7981
7982 </tr> <!-- end of entry -->
7983
7984
7985 <tr class="entry" id="static_android.sensor.forwardMatrix2">
7986 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
7987 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007988 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007989 <span class="entry_type_container">x</span>
7990
7991 <span class="entry_type_array">
7992 9
7993 </span>
7994
7995 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7996
7997
7998 </td> <!-- entry_type -->
7999
8000 <td class="entry_description">
8001 Used by DNG for better WB
8002 adaptation
8003 </td>
8004
8005 <td class="entry_units">
8006 </td>
8007
8008 <td class="entry_range">
8009 </td>
8010
8011 <td class="entry_notes">
8012 </td>
8013
8014 <td class="entry_tags">
8015 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008016 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008017 </ul>
8018 </td>
8019
8020 </tr> <!-- end of entry -->
8021
8022
8023 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8024 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8025 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008026 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008027
8028
8029
8030
8031 </td> <!-- entry_type -->
8032
8033 <td class="entry_description">
8034 Maximum sensitivity that is implemented
8035 purely through analog gain
8036 </td>
8037
8038 <td class="entry_units">
8039 </td>
8040
8041 <td class="entry_range">
8042 </td>
8043
8044 <td class="entry_notes">
8045 For android.<wbr>sensor.<wbr>sensitivity values less than or
8046 equal to this,<wbr> all applied gain must be analog.<wbr> For
8047 values above this,<wbr> it can be a mix of analog and
8048 digital
8049 </td>
8050
8051 <td class="entry_tags">
8052 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008053 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008054 </ul>
8055 </td>
8056
8057 </tr> <!-- end of entry -->
8058
8059
8060 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8061 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8062 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008063 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008064 <span class="entry_type_container">x</span>
8065
8066 <span class="entry_type_array">
8067 2
8068 </span>
8069
8070 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8071
8072
8073 </td> <!-- entry_type -->
8074
8075 <td class="entry_description">
8076 Estimation of sensor noise
8077 characteristics
8078 </td>
8079
8080 <td class="entry_units">
8081 var(raw pixel value) = electrons * (baseGainFactor
8082 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8083 B
8084 </td>
8085
8086 <td class="entry_range">
8087 </td>
8088
8089 <td class="entry_notes">
8090 A represents sensor read noise before analog
8091 amplification; B represents noise from A/<wbr>D conversion and
8092 other circuits after amplification.<wbr> Both noise sources
8093 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8094 across the sensor
8095 </td>
8096
8097 <td class="entry_tags">
8098 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008099 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008100 </ul>
8101 </td>
8102
8103 </tr> <!-- end of entry -->
8104
8105
8106 <tr class="entry" id="static_android.sensor.orientation">
8107 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8108 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008109 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008110
8111
8112
8113
8114 </td> <!-- entry_type -->
8115
8116 <td class="entry_description">
8117 Clockwise angle through which the output
8118 image needs to be rotated to be upright on the device
8119 screen in its native orientation.<wbr> Also defines the
8120 direction of rolling shutter readout,<wbr> which is from top
8121 to bottom in the sensor's coordinate system
8122 </td>
8123
8124 <td class="entry_units">
8125 degrees clockwise rotation,<wbr> only multiples of
8126 90
8127 </td>
8128
8129 <td class="entry_range">
8130 0,<wbr>90,<wbr>180,<wbr>270
8131 </td>
8132
8133 <td class="entry_notes">
8134 </td>
8135
8136 <td class="entry_tags">
8137 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008138 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008139 </ul>
8140 </td>
8141
8142 </tr> <!-- end of entry -->
8143
8144
8145 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8146 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8147 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008148 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008149
8150
8151
8152 <ul class="entry_type_enum">
8153 <li>
8154 <span class="entry_type_enum_name">DAYLIGHT</span>
8155 <span class="entry_type_enum_value">1</span>
8156 </li>
8157 <li>
8158 <span class="entry_type_enum_name">FLUORESCENT</span>
8159 <span class="entry_type_enum_value">2</span>
8160 </li>
8161 <li>
8162 <span class="entry_type_enum_name">TUNGSTEN</span>
8163 <span class="entry_type_enum_value">3</span>
8164 <span class="entry_type_enum_notes">Incandescent light</span>
8165 </li>
8166 <li>
8167 <span class="entry_type_enum_name">FLASH</span>
8168 <span class="entry_type_enum_value">4</span>
8169 </li>
8170 <li>
8171 <span class="entry_type_enum_name">FINE_WEATHER</span>
8172 <span class="entry_type_enum_value">9</span>
8173 </li>
8174 <li>
8175 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8176 <span class="entry_type_enum_value">10</span>
8177 </li>
8178 <li>
8179 <span class="entry_type_enum_name">SHADE</span>
8180 <span class="entry_type_enum_value">11</span>
8181 </li>
8182 <li>
8183 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8184 <span class="entry_type_enum_value">12</span>
8185 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8186 </li>
8187 <li>
8188 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8189 <span class="entry_type_enum_value">13</span>
8190 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8191 </li>
8192 <li>
8193 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8194 <span class="entry_type_enum_value">14</span>
8195 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8196 </li>
8197 <li>
8198 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8199 <span class="entry_type_enum_value">15</span>
8200 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8201 </li>
8202 <li>
8203 <span class="entry_type_enum_name">STANDARD_A</span>
8204 <span class="entry_type_enum_value">17</span>
8205 </li>
8206 <li>
8207 <span class="entry_type_enum_name">STANDARD_B</span>
8208 <span class="entry_type_enum_value">18</span>
8209 </li>
8210 <li>
8211 <span class="entry_type_enum_name">STANDARD_C</span>
8212 <span class="entry_type_enum_value">19</span>
8213 </li>
8214 <li>
8215 <span class="entry_type_enum_name">D55</span>
8216 <span class="entry_type_enum_value">20</span>
8217 </li>
8218 <li>
8219 <span class="entry_type_enum_name">D65</span>
8220 <span class="entry_type_enum_value">21</span>
8221 </li>
8222 <li>
8223 <span class="entry_type_enum_name">D75</span>
8224 <span class="entry_type_enum_value">22</span>
8225 </li>
8226 <li>
8227 <span class="entry_type_enum_name">D50</span>
8228 <span class="entry_type_enum_value">23</span>
8229 </li>
8230 <li>
8231 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8232 <span class="entry_type_enum_value">24</span>
8233 </li>
8234 </ul>
8235
8236 </td> <!-- entry_type -->
8237
8238 <td class="entry_description">
8239 Light source used to define transform
8240 1
8241 </td>
8242
8243 <td class="entry_units">
8244 </td>
8245
8246 <td class="entry_range">
8247 </td>
8248
8249 <td class="entry_notes">
8250 [EXIF LightSource tag] Must all these be
8251 supported? Need CCT for each!
8252 </td>
8253
8254 <td class="entry_tags">
8255 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008256 <li><a href="#tag_DNG">DNG</a></li>
8257 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008258 </ul>
8259 </td>
8260
8261 </tr> <!-- end of entry -->
8262
8263
8264 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8265 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8266 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008267 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008268
8269
8270
8271
8272 </td> <!-- entry_type -->
8273
8274 <td class="entry_description">
8275 Light source used to define transform
8276 2
8277 </td>
8278
8279 <td class="entry_units">
8280 Same as illuminant 1
8281 </td>
8282
8283 <td class="entry_range">
8284 </td>
8285
8286 <td class="entry_notes">
8287 </td>
8288
8289 <td class="entry_tags">
8290 </td>
8291
8292 </tr> <!-- end of entry -->
8293
8294
8295
8296 <!-- end of kind -->
8297 </tbody>
8298 <tr><td colspan="7" class="kind">dynamic</td></tr>
8299
8300 <thead>
8301 <tr>
8302 <th class="th_name">Property Name</th>
8303 <th class="th_type">Type</th>
8304 <th class="th_description">Description</th>
8305 <th class="th_units">Units</th>
8306 <th class="th_range">Range</th>
8307 <th class="th_notes">Notes</th>
8308 <th class="th_tags">Tags</th>
8309 </tr>
8310 </thead>
8311
8312 <tbody>
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8324 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8325 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008326 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008327
8328
8329
8330
8331 </td> <!-- entry_type -->
8332
8333 <td class="entry_description">
8334 Duration each pixel is exposed to
8335 light
8336 </td>
8337
8338 <td class="entry_units">
8339 nanoseconds
8340 </td>
8341
8342 <td class="entry_range">
8343 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8344 </td>
8345
8346 <td class="entry_notes">
8347 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8348 </td>
8349
8350 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008351 <ul class="entry_tags">
8352 <li><a href="#tag_V1">V1</a></li>
8353 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008354 </td>
8355
8356 </tr> <!-- end of entry -->
8357
8358
8359 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8360 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8361 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008362 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008363
8364
8365
8366
8367 </td> <!-- entry_type -->
8368
8369 <td class="entry_description">
8370 Duration from start of frame exposure to
8371 start of next frame exposure
8372 </td>
8373
8374 <td class="entry_units">
8375 nanoseconds
8376 </td>
8377
8378 <td class="entry_range">
8379 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8380 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8381 </td>
8382
8383 <td class="entry_notes">
8384 Exposure time has priority,<wbr> so duration is set to
8385 max(duration,<wbr> exposure time + overhead)
8386 </td>
8387
8388 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008389 <ul class="entry_tags">
8390 <li><a href="#tag_V1">V1</a></li>
8391 <li><a href="#tag_BC">BC</a></li>
8392 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008393 </td>
8394
8395 </tr> <!-- end of entry -->
8396
8397
8398 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8399 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8400 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008401 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008402
8403
8404
8405
8406 </td> <!-- entry_type -->
8407
8408 <td class="entry_description">
8409 Gain applied to image data.<wbr> Must be
8410 implemented through analog gain only if set to values
8411 below 'maximum analog sensitivity'.<wbr>
8412 </td>
8413
8414 <td class="entry_units">
8415 ISO arithmetic units
8416 </td>
8417
8418 <td class="entry_range">
8419 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8420 </td>
8421
8422 <td class="entry_notes">
8423 ISO 12232:2006 REI method
8424 </td>
8425
8426 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008427 <ul class="entry_tags">
8428 <li><a href="#tag_V1">V1</a></li>
8429 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008430 </td>
8431
8432 </tr> <!-- end of entry -->
8433
8434
8435 <tr class="entry" id="dynamic_android.sensor.timestamp">
8436 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8437 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008438 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008439
8440
8441
8442
8443 </td> <!-- entry_type -->
8444
8445 <td class="entry_description">
8446 Time at start of exposure of first
8447 row
8448 </td>
8449
8450 <td class="entry_units">
8451 nanoseconds
8452 </td>
8453
8454 <td class="entry_range">
8455 > 0
8456 </td>
8457
8458 <td class="entry_notes">
8459 Monotonic,<wbr> should be synced to other timestamps in
8460 system
8461 </td>
8462
8463 <td class="entry_tags">
8464 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008465 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008466 </ul>
8467 </td>
8468
8469 </tr> <!-- end of entry -->
8470
8471
8472
8473 <!-- end of kind -->
8474 </tbody>
8475
8476 <!-- end of section -->
8477 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
8478
8479
8480 <tr><td colspan="7" class="kind">controls</td></tr>
8481
8482 <thead>
8483 <tr>
8484 <th class="th_name">Property Name</th>
8485 <th class="th_type">Type</th>
8486 <th class="th_description">Description</th>
8487 <th class="th_units">Units</th>
8488 <th class="th_range">Range</th>
8489 <th class="th_notes">Notes</th>
8490 <th class="th_tags">Tags</th>
8491 </tr>
8492 </thead>
8493
8494 <tbody>
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505 <tr class="entry" id="controls_android.shading.mode">
8506 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8507 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008508 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008509
8510
8511
8512 <ul class="entry_type_enum">
8513 <li>
8514 <span class="entry_type_enum_name">OFF</span>
8515 <span class="entry_type_enum_notes">No shading correction is applied</span>
8516 </li>
8517 <li>
8518 <span class="entry_type_enum_name">FAST</span>
8519 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8520 bayer output</span>
8521 </li>
8522 <li>
8523 <span class="entry_type_enum_name">HIGH_QUALITY</span>
8524 <span class="entry_type_enum_notes">Frame rate may be reduced by high
8525 quality</span>
8526 </li>
8527 </ul>
8528
8529 </td> <!-- entry_type -->
8530
8531 <td class="entry_description">
8532 Quality of lens shading correction applied
8533 to the image data
8534 </td>
8535
8536 <td class="entry_units">
8537 </td>
8538
8539 <td class="entry_range">
8540 </td>
8541
8542 <td class="entry_notes">
8543 </td>
8544
8545 <td class="entry_tags">
8546 </td>
8547
8548 </tr> <!-- end of entry -->
8549
8550
8551 <tr class="entry" id="controls_android.shading.strength">
8552 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
8553 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008554 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008555
8556
8557
8558
8559 </td> <!-- entry_type -->
8560
8561 <td class="entry_description">
8562 Control the amount of shading correction
8563 applied to the images
8564 </td>
8565
8566 <td class="entry_units">
8567 unitless: 1-10; 10 is full shading
8568 compensation
8569 </td>
8570
8571 <td class="entry_range">
8572 </td>
8573
8574 <td class="entry_notes">
8575 </td>
8576
8577 <td class="entry_tags">
8578 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008579 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008580 </ul>
8581 </td>
8582
8583 </tr> <!-- end of entry -->
8584
8585
8586
8587 <!-- end of kind -->
8588 </tbody>
8589 <tr><td colspan="7" class="kind">dynamic</td></tr>
8590
8591 <thead>
8592 <tr>
8593 <th class="th_name">Property Name</th>
8594 <th class="th_type">Type</th>
8595 <th class="th_description">Description</th>
8596 <th class="th_units">Units</th>
8597 <th class="th_range">Range</th>
8598 <th class="th_notes">Notes</th>
8599 <th class="th_tags">Tags</th>
8600 </tr>
8601 </thead>
8602
8603 <tbody>
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614 <tr class="entry" id="dynamic_android.shading.mode">
8615 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8616 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008617 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008618
8619
8620
8621 <ul class="entry_type_enum">
8622 <li>
8623 <span class="entry_type_enum_name">OFF</span>
8624 <span class="entry_type_enum_notes">No shading correction is applied</span>
8625 </li>
8626 <li>
8627 <span class="entry_type_enum_name">FAST</span>
8628 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8629 bayer output</span>
8630 </li>
8631 <li>
8632 <span class="entry_type_enum_name">HIGH_QUALITY</span>
8633 <span class="entry_type_enum_notes">Frame rate may be reduced by high
8634 quality</span>
8635 </li>
8636 </ul>
8637
8638 </td> <!-- entry_type -->
8639
8640 <td class="entry_description">
8641 Quality of lens shading correction applied
8642 to the image data
8643 </td>
8644
8645 <td class="entry_units">
8646 </td>
8647
8648 <td class="entry_range">
8649 </td>
8650
8651 <td class="entry_notes">
8652 </td>
8653
8654 <td class="entry_tags">
8655 </td>
8656
8657 </tr> <!-- end of entry -->
8658
8659
8660
8661 <!-- end of kind -->
8662 </tbody>
8663
8664 <!-- end of section -->
8665 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
8666
8667
8668 <tr><td colspan="7" class="kind">controls</td></tr>
8669
8670 <thead>
8671 <tr>
8672 <th class="th_name">Property Name</th>
8673 <th class="th_type">Type</th>
8674 <th class="th_description">Description</th>
8675 <th class="th_units">Units</th>
8676 <th class="th_range">Range</th>
8677 <th class="th_notes">Notes</th>
8678 <th class="th_tags">Tags</th>
8679 </tr>
8680 </thead>
8681
8682 <tbody>
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693 <tr class="entry" id="controls_android.statistics.faceDetectMode">
8694 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
8695 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008696 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008697
8698
8699
8700 <ul class="entry_type_enum">
8701 <li>
8702 <span class="entry_type_enum_name">OFF</span>
8703 </li>
8704 <li>
8705 <span class="entry_type_enum_name">SIMPLE</span>
8706 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
8707 only</span>
8708 </li>
8709 <li>
8710 <span class="entry_type_enum_name">FULL</span>
8711 <span class="entry_type_enum_notes">Optional Return all face
8712 metadata</span>
8713 </li>
8714 </ul>
8715
8716 </td> <!-- entry_type -->
8717
8718 <td class="entry_description">
8719 State of the face detector
8720 unit
8721 </td>
8722
8723 <td class="entry_units">
8724 </td>
8725
8726 <td class="entry_range">
8727
8728 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
8729 </td>
8730
8731 <td class="entry_notes">
8732 </td>
8733
8734 <td class="entry_tags">
8735 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008736 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008737 </ul>
8738 </td>
8739
8740 </tr> <!-- end of entry -->
8741
8742
8743 <tr class="entry" id="controls_android.statistics.histogramMode">
8744 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
8745 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008746 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008747
8748
8749
8750 <ul class="entry_type_enum">
8751 <li>
8752 <span class="entry_type_enum_name">OFF</span>
8753 </li>
8754 <li>
8755 <span class="entry_type_enum_name">ON</span>
8756 </li>
8757 </ul>
8758
8759 </td> <!-- entry_type -->
8760
8761 <td class="entry_description">
8762 Operating mode for histogram
8763 generation
8764 </td>
8765
8766 <td class="entry_units">
8767 </td>
8768
8769 <td class="entry_range">
8770 </td>
8771
8772 <td class="entry_notes">
8773 </td>
8774
8775 <td class="entry_tags">
8776 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008777 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008778 </ul>
8779 </td>
8780
8781 </tr> <!-- end of entry -->
8782
8783
8784 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
8785 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
8786 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008787 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008788
8789
8790
8791 <ul class="entry_type_enum">
8792 <li>
8793 <span class="entry_type_enum_name">OFF</span>
8794 </li>
8795 <li>
8796 <span class="entry_type_enum_name">ON</span>
8797 </li>
8798 </ul>
8799
8800 </td> <!-- entry_type -->
8801
8802 <td class="entry_description">
8803 Operating mode for sharpness map
8804 generation
8805 </td>
8806
8807 <td class="entry_units">
8808 </td>
8809
8810 <td class="entry_range">
8811 </td>
8812
8813 <td class="entry_notes">
8814 </td>
8815
8816 <td class="entry_tags">
8817 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008818 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008819 </ul>
8820 </td>
8821
8822 </tr> <!-- end of entry -->
8823
8824
8825
8826 <!-- end of kind -->
8827 </tbody>
8828 <tr><td colspan="7" class="kind">static</td></tr>
8829
8830 <thead>
8831 <tr>
8832 <th class="th_name">Property Name</th>
8833 <th class="th_type">Type</th>
8834 <th class="th_description">Description</th>
8835 <th class="th_units">Units</th>
8836 <th class="th_range">Range</th>
8837 <th class="th_notes">Notes</th>
8838 <th class="th_tags">Tags</th>
8839 </tr>
8840 </thead>
8841
8842 <tbody>
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
8856 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
8857 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008858 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008859 <span class="entry_type_container">x</span>
8860
8861 <span class="entry_type_array">
8862 n
8863 </span>
8864
8865 <div class="entry_type_notes">List of enums</div>
8866
8867
8868 </td> <!-- entry_type -->
8869
8870 <td class="entry_description">
8871 Which face detection modes are available,<wbr>
8872 if any
8873 </td>
8874
8875 <td class="entry_units">
8876 </td>
8877
8878 <td class="entry_range">
8879 OFF
8880 </td>
8881
8882 <td class="entry_notes">
8883 </td>
8884
8885 <td class="entry_tags">
8886 </td>
8887
8888 </tr> <!-- end of entry -->
8889
8890
8891 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
8892 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
8893 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008894 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008895
8896
8897
8898
8899 </td> <!-- entry_type -->
8900
8901 <td class="entry_description">
8902 Number of histogram buckets
8903 supported
8904 </td>
8905
8906 <td class="entry_units">
8907 </td>
8908
8909 <td class="entry_range">
8910 >= 64
8911 </td>
8912
8913 <td class="entry_notes">
8914 </td>
8915
8916 <td class="entry_tags">
8917 </td>
8918
8919 </tr> <!-- end of entry -->
8920
8921
8922 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
8923 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
8924 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008925 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008926
8927
8928
8929
8930 </td> <!-- entry_type -->
8931
8932 <td class="entry_description">
8933 If face detection is supported,<wbr> how many
8934 faces can be detected at once
8935 </td>
8936
8937 <td class="entry_units">
8938 </td>
8939
8940 <td class="entry_range">
8941 >= 4 if availableFaceDetectionModes lists
8942 modes besides OFF,<wbr> otherwise 0
8943 </td>
8944
8945 <td class="entry_notes">
8946 </td>
8947
8948 <td class="entry_tags">
8949 </td>
8950
8951 </tr> <!-- end of entry -->
8952
8953
8954 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
8955 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
8956 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008957 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008958
8959
8960
8961
8962 </td> <!-- entry_type -->
8963
8964 <td class="entry_description">
8965 Maximum value possible for a histogram
8966 bucket
8967 </td>
8968
8969 <td class="entry_units">
8970 </td>
8971
8972 <td class="entry_range">
8973 </td>
8974
8975 <td class="entry_notes">
8976 </td>
8977
8978 <td class="entry_tags">
8979 </td>
8980
8981 </tr> <!-- end of entry -->
8982
8983
8984 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
8985 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
8986 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008987 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008988
8989
8990
8991
8992 </td> <!-- entry_type -->
8993
8994 <td class="entry_description">
8995 Maximum value possible for a sharpness map
8996 region.<wbr>
8997 </td>
8998
8999 <td class="entry_units">
9000 </td>
9001
9002 <td class="entry_range">
9003 </td>
9004
9005 <td class="entry_notes">
9006 </td>
9007
9008 <td class="entry_tags">
9009 </td>
9010
9011 </tr> <!-- end of entry -->
9012
9013
9014 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9015 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9016 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009017 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009018 <span class="entry_type_container">x</span>
9019
9020 <span class="entry_type_array">
9021 2
9022 </span>
9023
9024 <div class="entry_type_notes">width x height</div>
9025
9026
9027 </td> <!-- entry_type -->
9028
9029 <td class="entry_description">
9030 Dimensions of the sharpness
9031 map
9032 </td>
9033
9034 <td class="entry_units">
9035 </td>
9036
9037 <td class="entry_range">
9038 Must be at least 32 x 32
9039 </td>
9040
9041 <td class="entry_notes">
9042 </td>
9043
9044 <td class="entry_tags">
9045 </td>
9046
9047 </tr> <!-- end of entry -->
9048
9049
9050
9051
9052
9053
9054 <!-- end of kind -->
9055 </tbody>
9056 <tr><td colspan="7" class="kind">dynamic</td></tr>
9057
9058 <thead>
9059 <tr>
9060 <th class="th_name">Property Name</th>
9061 <th class="th_type">Type</th>
9062 <th class="th_description">Description</th>
9063 <th class="th_units">Units</th>
9064 <th class="th_range">Range</th>
9065 <th class="th_notes">Notes</th>
9066 <th class="th_tags">Tags</th>
9067 </tr>
9068 </thead>
9069
9070 <tbody>
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9082 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9083 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009084 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009085
9086
9087
9088 <ul class="entry_type_enum">
9089 <li>
9090 <span class="entry_type_enum_name">OFF</span>
9091 </li>
9092 <li>
9093 <span class="entry_type_enum_name">SIMPLE</span>
9094 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9095 only</span>
9096 </li>
9097 <li>
9098 <span class="entry_type_enum_name">FULL</span>
9099 <span class="entry_type_enum_notes">Optional Return all face
9100 metadata</span>
9101 </li>
9102 </ul>
9103
9104 </td> <!-- entry_type -->
9105
9106 <td class="entry_description">
9107 State of the face detector
9108 unit
9109 </td>
9110
9111 <td class="entry_units">
9112 </td>
9113
9114 <td class="entry_range">
9115
9116 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
9117 </td>
9118
9119 <td class="entry_notes">
9120 </td>
9121
9122 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009123 <ul class="entry_tags">
9124 <li><a href="#tag_BC">BC</a></li>
9125 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009126 </td>
9127
9128 </tr> <!-- end of entry -->
9129
9130
9131 <tr class="entry" id="dynamic_android.statistics.faceIds">
9132 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9133 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009134 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009135 <span class="entry_type_container">x</span>
9136
9137 <span class="entry_type_array">
9138 n
9139 </span>
9140
9141
9142
9143 </td> <!-- entry_type -->
9144
9145 <td class="entry_description">
9146 List of unique IDs for detected
9147 faces
9148 </td>
9149
9150 <td class="entry_units">
9151 </td>
9152
9153 <td class="entry_range">
9154 </td>
9155
9156 <td class="entry_notes">
9157 Only available if faceDetectMode == FULL
9158 </td>
9159
9160 <td class="entry_tags">
9161 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009162 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009163 </ul>
9164 </td>
9165
9166 </tr> <!-- end of entry -->
9167
9168
9169 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9170 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9171 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009172 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009173 <span class="entry_type_container">x</span>
9174
9175 <span class="entry_type_array">
9176 n x 6
9177 </span>
9178
9179 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9180
9181
9182 </td> <!-- entry_type -->
9183
9184 <td class="entry_description">
9185 List of landmarks for detected
9186 faces
9187 </td>
9188
9189 <td class="entry_units">
9190 </td>
9191
9192 <td class="entry_range">
9193 </td>
9194
9195 <td class="entry_notes">
9196 Only available if faceDetectMode == FULL
9197 </td>
9198
9199 <td class="entry_tags">
9200 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009201 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009202 </ul>
9203 </td>
9204
9205 </tr> <!-- end of entry -->
9206
9207
9208 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9209 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9210 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009211 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009212 <span class="entry_type_container">x</span>
9213
9214 <span class="entry_type_array">
9215 n x 4
9216 </span>
9217
9218 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9219
9220
9221 </td> <!-- entry_type -->
9222
9223 <td class="entry_description">
9224 List of the bounding rectangles for detected
9225 faces
9226 </td>
9227
9228 <td class="entry_units">
9229 </td>
9230
9231 <td class="entry_range">
9232 </td>
9233
9234 <td class="entry_notes">
9235 Only available if faceDetectMode != OFF
9236 </td>
9237
9238 <td class="entry_tags">
9239 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009240 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009241 </ul>
9242 </td>
9243
9244 </tr> <!-- end of entry -->
9245
9246
9247 <tr class="entry" id="dynamic_android.statistics.faceScores">
9248 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009250 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009251 <span class="entry_type_container">x</span>
9252
9253 <span class="entry_type_array">
9254 n
9255 </span>
9256
9257
9258
9259 </td> <!-- entry_type -->
9260
9261 <td class="entry_description">
9262 List of the face confidence scores for
9263 detected faces
9264 </td>
9265
9266 <td class="entry_units">
9267 </td>
9268
9269 <td class="entry_range">
9270 0-100
9271 </td>
9272
9273 <td class="entry_notes">
9274 Only available if faceDetectMode != OFF
9275 </td>
9276
9277 <td class="entry_tags">
9278 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009279 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009280 </ul>
9281 </td>
9282
9283 </tr> <!-- end of entry -->
9284
9285
9286 <tr class="entry" id="dynamic_android.statistics.histogram">
9287 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9288 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009289 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009290 <span class="entry_type_container">x</span>
9291
9292 <span class="entry_type_array">
9293 n x 3
9294 </span>
9295
9296 <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>
9297
9298
9299 </td> <!-- entry_type -->
9300
9301 <td class="entry_description">
9302 A 3-channel histogram based on the raw
9303 sensor data
9304 </td>
9305
9306 <td class="entry_units">
9307 </td>
9308
9309 <td class="entry_range">
9310 </td>
9311
9312 <td class="entry_notes">
9313 The k'th bucket (0-based) covers the input range
9314 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9315 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9316 supported,<wbr> all channels should have the same data
9317 </td>
9318
9319 <td class="entry_tags">
9320 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009321 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009322 </ul>
9323 </td>
9324
9325 </tr> <!-- end of entry -->
9326
9327
9328 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9329 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9330 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009331 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009332
9333
9334
9335 <ul class="entry_type_enum">
9336 <li>
9337 <span class="entry_type_enum_name">OFF</span>
9338 </li>
9339 <li>
9340 <span class="entry_type_enum_name">ON</span>
9341 </li>
9342 </ul>
9343
9344 </td> <!-- entry_type -->
9345
9346 <td class="entry_description">
9347 Operating mode for histogram
9348 generation
9349 </td>
9350
9351 <td class="entry_units">
9352 </td>
9353
9354 <td class="entry_range">
9355 </td>
9356
9357 <td class="entry_notes">
9358 </td>
9359
9360 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009361 <ul class="entry_tags">
9362 <li><a href="#tag_V1">V1</a></li>
9363 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009364 </td>
9365
9366 </tr> <!-- end of entry -->
9367
9368
9369 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9370 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9371 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009372 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009373 <span class="entry_type_container">x</span>
9374
9375 <span class="entry_type_array">
9376 n x m x 3
9377 </span>
9378
9379 <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>
9380
9381
9382 </td> <!-- entry_type -->
9383
9384 <td class="entry_description">
9385 A 3-channel sharpness map,<wbr> based on the raw
9386 sensor data
9387 </td>
9388
9389 <td class="entry_units">
9390 </td>
9391
9392 <td class="entry_range">
9393 </td>
9394
9395 <td class="entry_notes">
9396 If only a monochrome sharpness map is supported,<wbr>
9397 all channels should have the same data
9398 </td>
9399
9400 <td class="entry_tags">
9401 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009402 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009403 </ul>
9404 </td>
9405
9406 </tr> <!-- end of entry -->
9407
9408
9409 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
9410 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9411 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009412 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009413
9414
9415
9416 <ul class="entry_type_enum">
9417 <li>
9418 <span class="entry_type_enum_name">OFF</span>
9419 </li>
9420 <li>
9421 <span class="entry_type_enum_name">ON</span>
9422 </li>
9423 </ul>
9424
9425 </td> <!-- entry_type -->
9426
9427 <td class="entry_description">
9428 Operating mode for sharpness map
9429 generation
9430 </td>
9431
9432 <td class="entry_units">
9433 </td>
9434
9435 <td class="entry_range">
9436 </td>
9437
9438 <td class="entry_notes">
9439 </td>
9440
9441 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009442 <ul class="entry_tags">
9443 <li><a href="#tag_V1">V1</a></li>
9444 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009445 </td>
9446
9447 </tr> <!-- end of entry -->
9448
9449
9450
9451 <!-- end of kind -->
9452 </tbody>
9453
9454 <!-- end of section -->
9455 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
9456
9457
9458 <tr><td colspan="7" class="kind">controls</td></tr>
9459
9460 <thead>
9461 <tr>
9462 <th class="th_name">Property Name</th>
9463 <th class="th_type">Type</th>
9464 <th class="th_description">Description</th>
9465 <th class="th_units">Units</th>
9466 <th class="th_range">Range</th>
9467 <th class="th_notes">Notes</th>
9468 <th class="th_tags">Tags</th>
9469 </tr>
9470 </thead>
9471
9472 <tbody>
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483 <tr class="entry" id="controls_android.tonemap.curveBlue">
9484 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9485 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009486 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009487
9488
9489
9490
9491 </td> <!-- entry_type -->
9492
9493 <td class="entry_description">
9494 Table mapping blue input values to output
9495 values
9496 </td>
9497
9498 <td class="entry_units">
9499 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9500 </td>
9501
9502 <td class="entry_range">
9503 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9504 </td>
9505
9506 <td class="entry_notes">
9507 </td>
9508
9509 <td class="entry_tags">
9510 </td>
9511
9512 </tr> <!-- end of entry -->
9513
9514
9515 <tr class="entry" id="controls_android.tonemap.curveGreen">
9516 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9517 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009518 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009519
9520
9521
9522
9523 </td> <!-- entry_type -->
9524
9525 <td class="entry_description">
9526 Table mapping green input values to output
9527 values
9528 </td>
9529
9530 <td class="entry_units">
9531 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9532 </td>
9533
9534 <td class="entry_range">
9535 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9536 </td>
9537
9538 <td class="entry_notes">
9539 </td>
9540
9541 <td class="entry_tags">
9542 </td>
9543
9544 </tr> <!-- end of entry -->
9545
9546
9547 <tr class="entry" id="controls_android.tonemap.curveRed">
9548 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9549 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009550 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009551 <span class="entry_type_container">x</span>
9552
9553 <span class="entry_type_array">
9554 n x 2
9555 </span>
9556
9557 <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>
9558
9559
9560 </td> <!-- entry_type -->
9561
9562 <td class="entry_description">
9563 Table mapping red input values to output
9564 values
9565 </td>
9566
9567 <td class="entry_units">
9568 </td>
9569
9570 <td class="entry_range">
9571 0-1 on input and output coordinates.<wbr> Max entry
9572 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9573 </td>
9574
9575 <td class="entry_notes">
9576 .<wbr>The input range must be monotonically increasing
9577 with N,<wbr> and values between entries should be linearly
9578 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9579 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9580 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9581 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9582 </td>
9583
9584 <td class="entry_tags">
9585 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009586 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009587 </ul>
9588 </td>
9589
9590 </tr> <!-- end of entry -->
9591
9592
9593 <tr class="entry" id="controls_android.tonemap.mode">
9594 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9595 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009596 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009597
9598
9599
9600 <ul class="entry_type_enum">
9601 <li>
9602 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9603 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9604 android.<wbr>tonemap.<wbr>curve</span>
9605 </li>
9606 <li>
9607 <span class="entry_type_enum_name">FAST</span>
9608 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9609 bayer output</span>
9610 </li>
9611 <li>
9612 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9613 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9614 quality</span>
9615 </li>
9616 </ul>
9617
9618 </td> <!-- entry_type -->
9619
9620 <td class="entry_description">
9621 </td>
9622
9623 <td class="entry_units">
9624 </td>
9625
9626 <td class="entry_range">
9627 </td>
9628
9629 <td class="entry_notes">
9630 </td>
9631
9632 <td class="entry_tags">
9633 </td>
9634
9635 </tr> <!-- end of entry -->
9636
9637
9638
9639 <!-- end of kind -->
9640 </tbody>
9641 <tr><td colspan="7" class="kind">static</td></tr>
9642
9643 <thead>
9644 <tr>
9645 <th class="th_name">Property Name</th>
9646 <th class="th_type">Type</th>
9647 <th class="th_description">Description</th>
9648 <th class="th_units">Units</th>
9649 <th class="th_range">Range</th>
9650 <th class="th_notes">Notes</th>
9651 <th class="th_tags">Tags</th>
9652 </tr>
9653 </thead>
9654
9655 <tbody>
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
9667 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
9668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009669 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009670
9671
9672
9673
9674 </td> <!-- entry_type -->
9675
9676 <td class="entry_description">
9677 Maximum number of supported points in the
9678 tonemap curve
9679 </td>
9680
9681 <td class="entry_units">
9682 </td>
9683
9684 <td class="entry_range">
9685 >= 128
9686 </td>
9687
9688 <td class="entry_notes">
9689 </td>
9690
9691 <td class="entry_tags">
9692 </td>
9693
9694 </tr> <!-- end of entry -->
9695
9696
9697
9698 <!-- end of kind -->
9699 </tbody>
9700 <tr><td colspan="7" class="kind">dynamic</td></tr>
9701
9702 <thead>
9703 <tr>
9704 <th class="th_name">Property Name</th>
9705 <th class="th_type">Type</th>
9706 <th class="th_description">Description</th>
9707 <th class="th_units">Units</th>
9708 <th class="th_range">Range</th>
9709 <th class="th_notes">Notes</th>
9710 <th class="th_tags">Tags</th>
9711 </tr>
9712 </thead>
9713
9714 <tbody>
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
9726 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9727 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009728 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009729
9730
9731
9732
9733 </td> <!-- entry_type -->
9734
9735 <td class="entry_description">
9736 Table mapping blue input values to output
9737 values
9738 </td>
9739
9740 <td class="entry_units">
9741 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9742 </td>
9743
9744 <td class="entry_range">
9745 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9746 </td>
9747
9748 <td class="entry_notes">
9749 </td>
9750
9751 <td class="entry_tags">
9752 </td>
9753
9754 </tr> <!-- end of entry -->
9755
9756
9757 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
9758 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9759 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009760 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009761
9762
9763
9764
9765 </td> <!-- entry_type -->
9766
9767 <td class="entry_description">
9768 Table mapping green input values to output
9769 values
9770 </td>
9771
9772 <td class="entry_units">
9773 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9774 </td>
9775
9776 <td class="entry_range">
9777 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9778 </td>
9779
9780 <td class="entry_notes">
9781 </td>
9782
9783 <td class="entry_tags">
9784 </td>
9785
9786 </tr> <!-- end of entry -->
9787
9788
9789 <tr class="entry" id="dynamic_android.tonemap.curveRed">
9790 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9791 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009792 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009793 <span class="entry_type_container">x</span>
9794
9795 <span class="entry_type_array">
9796 n x 2
9797 </span>
9798
9799 <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>
9800
9801
9802 </td> <!-- entry_type -->
9803
9804 <td class="entry_description">
9805 Table mapping red input values to output
9806 values
9807 </td>
9808
9809 <td class="entry_units">
9810 </td>
9811
9812 <td class="entry_range">
9813 0-1 on input and output coordinates.<wbr> Max entry
9814 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9815 </td>
9816
9817 <td class="entry_notes">
9818 .<wbr>The input range must be monotonically increasing
9819 with N,<wbr> and values between entries should be linearly
9820 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9821 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9822 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9823 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9824 </td>
9825
9826 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009827 <ul class="entry_tags">
9828 <li><a href="#tag_DNG">DNG</a></li>
9829 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830 </td>
9831
9832 </tr> <!-- end of entry -->
9833
9834
9835 <tr class="entry" id="dynamic_android.tonemap.mode">
9836 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009838 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009839
9840
9841
9842 <ul class="entry_type_enum">
9843 <li>
9844 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9845 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9846 android.<wbr>tonemap.<wbr>curve</span>
9847 </li>
9848 <li>
9849 <span class="entry_type_enum_name">FAST</span>
9850 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9851 bayer output</span>
9852 </li>
9853 <li>
9854 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9855 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9856 quality</span>
9857 </li>
9858 </ul>
9859
9860 </td> <!-- entry_type -->
9861
9862 <td class="entry_description">
9863 </td>
9864
9865 <td class="entry_units">
9866 </td>
9867
9868 <td class="entry_range">
9869 </td>
9870
9871 <td class="entry_notes">
9872 </td>
9873
9874 <td class="entry_tags">
9875 </td>
9876
9877 </tr> <!-- end of entry -->
9878
9879
9880
9881 <!-- end of kind -->
9882 </tbody>
9883
9884 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -07009885 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
9886
9887
9888 <tr><td colspan="7" class="kind">controls</td></tr>
9889
9890 <thead>
9891 <tr>
9892 <th class="th_name">Property Name</th>
9893 <th class="th_type">Type</th>
9894 <th class="th_description">Description</th>
9895 <th class="th_units">Units</th>
9896 <th class="th_range">Range</th>
9897 <th class="th_notes">Notes</th>
9898 <th class="th_tags">Tags</th>
9899 </tr>
9900 </thead>
9901
9902 <tbody>
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913 <tr class="entry" id="controls_android.led.transmit">
9914 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
9915 <td class="entry_type">
9916 <span class="entry_type_name entry_type_name_enum">byte</span>
9917
9918
9919
9920 <ul class="entry_type_enum">
9921 <li>
9922 <span class="entry_type_enum_name">OFF</span>
9923 </li>
9924 <li>
9925 <span class="entry_type_enum_name">ON</span>
9926 </li>
9927 </ul>
9928
9929 </td> <!-- entry_type -->
9930
9931 <td class="entry_description">
9932 This LED is nominally used to indicate to the user
9933 that the camera is powered on and may be streaming images back to the
9934 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
9935 disable this when video is processed locally and not transmitted to
9936 any untrusted applications.<wbr>
9937<br>
9938<br> In particular,<wbr> the LED *must* always be on when the data could be
9939 transmitted off the device.<wbr> The LED *should* always be on whenever
9940 data is stored locally on the device.<wbr>
9941<br>
9942<br> The LED *may* be off if a trusted application is using the data that
9943 doesn't violate the above rules.<wbr>
9944
9945 </td>
9946
9947 <td class="entry_units">
9948 </td>
9949
9950 <td class="entry_range">
9951 </td>
9952
9953 <td class="entry_notes">
9954 </td>
9955
9956 <td class="entry_tags">
9957 </td>
9958
9959 </tr> <!-- end of entry -->
9960
9961
9962
9963 <!-- end of kind -->
9964 </tbody>
9965 <tr><td colspan="7" class="kind">dynamic</td></tr>
9966
9967 <thead>
9968 <tr>
9969 <th class="th_name">Property Name</th>
9970 <th class="th_type">Type</th>
9971 <th class="th_description">Description</th>
9972 <th class="th_units">Units</th>
9973 <th class="th_range">Range</th>
9974 <th class="th_notes">Notes</th>
9975 <th class="th_tags">Tags</th>
9976 </tr>
9977 </thead>
9978
9979 <tbody>
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990 <tr class="entry" id="dynamic_android.led.transmit">
9991 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
9992 <td class="entry_type">
9993 <span class="entry_type_name entry_type_name_enum">byte</span>
9994
9995
9996
9997 <ul class="entry_type_enum">
9998 <li>
9999 <span class="entry_type_enum_name">OFF</span>
10000 </li>
10001 <li>
10002 <span class="entry_type_enum_name">ON</span>
10003 </li>
10004 </ul>
10005
10006 </td> <!-- entry_type -->
10007
10008 <td class="entry_description">
10009 This LED is nominally used to indicate to the user
10010 that the camera is powered on and may be streaming images back to the
10011 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10012 disable this when video is processed locally and not transmitted to
10013 any untrusted applications.<wbr>
10014<br>
10015<br> In particular,<wbr> the LED *must* always be on when the data could be
10016 transmitted off the device.<wbr> The LED *should* always be on whenever
10017 data is stored locally on the device.<wbr>
10018<br>
10019<br> The LED *may* be off if a trusted application is using the data that
10020 doesn't violate the above rules.<wbr>
10021
10022 </td>
10023
10024 <td class="entry_units">
10025 </td>
10026
10027 <td class="entry_range">
10028 </td>
10029
10030 <td class="entry_notes">
10031 </td>
10032
10033 <td class="entry_tags">
10034 </td>
10035
10036 </tr> <!-- end of entry -->
10037
10038
10039
10040 <!-- end of kind -->
10041 </tbody>
10042 <tr><td colspan="7" class="kind">static</td></tr>
10043
10044 <thead>
10045 <tr>
10046 <th class="th_name">Property Name</th>
10047 <th class="th_type">Type</th>
10048 <th class="th_description">Description</th>
10049 <th class="th_units">Units</th>
10050 <th class="th_range">Range</th>
10051 <th class="th_notes">Notes</th>
10052 <th class="th_tags">Tags</th>
10053 </tr>
10054 </thead>
10055
10056 <tbody>
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067 <tr class="entry" id="static_android.led.availableLeds">
10068 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10069 <td class="entry_type">
10070 <span class="entry_type_name entry_type_name_enum">byte</span>
10071 <span class="entry_type_container">x</span>
10072
10073 <span class="entry_type_array">
10074 n
10075 </span>
10076
10077
10078 <ul class="entry_type_enum">
10079 <li>
10080 <span class="entry_type_enum_name">TRANSMIT</span>
10081 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10082 </li>
10083 </ul>
10084
10085 </td> <!-- entry_type -->
10086
10087 <td class="entry_description">
10088 A list of camera LEDs that are available on this system.<wbr>
10089
10090 </td>
10091
10092 <td class="entry_units">
10093 </td>
10094
10095 <td class="entry_range">
10096 </td>
10097
10098 <td class="entry_notes">
10099 </td>
10100
10101 <td class="entry_tags">
10102 </td>
10103
10104 </tr> <!-- end of entry -->
10105
10106
10107
10108 <!-- end of kind -->
10109 </tbody>
10110
10111 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010112<!-- </namespace> -->
10113 </table>
10114
10115 <div class="tags" id="tag_index">
10116 <h2>Tags</h2>
10117 <ul>
10118 <li id="tag_AWB">AWB -
10119 Needed for auto white balance
10120
10121 <ul class="tags_entries">
10122 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10123 </ul>
10124 </li> <!-- tag_AWB -->
10125 <li id="tag_BC">BC -
10126 Needed for backwards compatibility with old Java API
10127
10128 <ul class="tags_entries">
10129 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
10130 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
10131 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
10132 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
10133 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010134 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010135 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
10136 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010137 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010138 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
10139 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10140 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
10141 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
10142 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
10143 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
10144 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
10145 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
10146 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
10147 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
10148 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
10149 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
10150 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
10151 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
10152 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
10153 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
10154 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
10155 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
10156 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
10157 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
10158 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
10159 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
10160 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
10161 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
10162 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
10163 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
10164 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
10165 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10166 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10167 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
10168 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
10169 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
10170 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
10171 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
10172 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
10173 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
10174 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
10175 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
10176 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
10177 <li><a href="#static_android.scaler.maxDigitalZoom">android.scaler.maxDigitalZoom</a> (static)</li>
10178 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10179 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10180 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10181 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10182 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10183 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
10184 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
10185 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
10186 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
10187 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
10188 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
10189 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
10190 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
10191 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
10192 </ul>
10193 </li> <!-- tag_BC -->
10194 <li id="tag_V1">V1 -
10195 New features for first camera 2 release (API1)
10196
10197 <ul class="tags_entries">
10198 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
10199 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
10200 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
10201 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
10202 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
10203 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
10204 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
10205 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
10206 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10207 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
10208 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
10209 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
10210 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10211 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
10212 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
10213 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
10214 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
10215 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
10216 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
10217 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
10218 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
10219 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
10220 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10221 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
10222 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10223 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
10224 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10225 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10226 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
10227 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
10228 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
10229 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
10230 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
10231 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
10232 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
10233 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
10234 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
10235 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
10236 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
10237 </ul>
10238 </li> <!-- tag_V1 -->
10239 <li id="tag_ADV">ADV - None
10240 <ul class="tags_entries">
10241 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
10242 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
10243 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
10244 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
10245 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
10246 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
10247 </ul>
10248 </li> <!-- tag_ADV -->
10249 <li id="tag_DNG">DNG -
10250 Needed for DNG file support
10251
10252 <ul class="tags_entries">
10253 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
10254 <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
10255 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
10256 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
10257 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10258 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
10259 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
10260 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
10261 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
10262 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
10263 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
10264 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
10265 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
10266 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10267 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
10268 </ul>
10269 </li> <!-- tag_DNG -->
10270 <li id="tag_EXIF">EXIF - None
10271 <ul class="tags_entries">
10272 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10273 </ul>
10274 </li> <!-- tag_EXIF -->
10275 </ul>
10276 </div>
10277
10278 [ <a href="#">top</a> ]
10279
10280</body>
10281</html>