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