blob: c270b616ff6b1cd09a6120ce35f24f608e260bcc [file] [log] [blame]
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17<head>
18 <!-- automatically generated from html.mako. do NOT edit directly -->
19 <meta charset="utf-8" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
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% }
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070034 .th_visibility { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080035 td { font-size: 0.9em; }
36
37 /* hide the first thead, we need it there only to enforce column sizes */
38 .thead_dummy { visibility: hidden; }
39
40 /* Entry flair */
41 .entry_name { font-family: monospace; font-style: italic; }
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070042 .entry_visibility { text-align: center; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080043
44 /* Entry type flair */
45 .entry_type_name { color: darkgreen; font-weight: bold; }
Igor Murashkinb556bc42012-12-04 16:07:21 -080046 .entry_type_name_enum:after { color: darkgreen; font-weight: bold; content:" (enum)" }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
48 .entry_type_enum_notes:before { content:" - " }
49 .entry_type_enum_value:before { content:" = " }
50 .entry_type_enum_value { font-family: monospace; }
51 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
52 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
53
54 /* Entry tags flair */
55 .entry_tags ul { list-style-type: none; }
56
57
58 /* TODO: generate abbr element for each tag link? */
59 /* TODO for each x.y.z try to link it to the entry */
60
61 </style>
62
63 <style>
64
65 {
66 /* broken...
67 supposedly there is a bug in chrome that it lays out tables before
68 it knows its being printed, so the page-break-* styles are ignored
69 */
70 tr { page-break-after: always; page-break-inside: avoid; }
71 }
72
73 </style>
74</head>
75
76
77
78
79<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070080 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080081
82 <h2>Table of Contents</h2>
83 <ul class="toc">
84 <li><a href="#tag_index">Tags</a></li>
85
86
87 <li><p class="toc_section"><a href="#section_colorCorrection">colorCorrection</a></p>
88 <ul class="toc_section">
89 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a> (controls)</li>
90 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a> (controls)</li>
91 <li><a href="#dynamic_android.colorCorrection.mode">android.colorCorrection.mode</a> (dynamic)</li>
92 </ul>
93 </li> <!-- toc_section -->
94 <li><p class="toc_section"><a href="#section_control">control</a></p>
95 <ul class="toc_section">
96 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
97 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
98 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
99 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
100 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
101 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700102 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800103 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
104 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700105 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800106 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
107 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
108 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
109 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
110 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
111 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
112 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
113 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
114 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a> (static)</li>
115 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
116 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a> (static)</li>
117 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
118 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
119 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
120 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
121 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
122 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
123 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
124 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
125 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
126 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a> (dynamic)</li>
127 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a> (dynamic)</li>
128 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a> (dynamic)</li>
129 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a> (dynamic)</li>
130 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a> (dynamic)</li>
131 <li><a href="#dynamic_android.control.afState">android.control.afState</a> (dynamic)</li>
132 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a> (dynamic)</li>
133 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a> (dynamic)</li>
134 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a> (dynamic)</li>
135 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a> (dynamic)</li>
136 <li><a href="#dynamic_android.control.mode">android.control.mode</a> (dynamic)</li>
137 </ul>
138 </li> <!-- toc_section -->
139 <li><p class="toc_section"><a href="#section_demosaic">demosaic</a></p>
140 <ul class="toc_section">
141 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
142 </ul>
143 </li> <!-- toc_section -->
144 <li><p class="toc_section"><a href="#section_edge">edge</a></p>
145 <ul class="toc_section">
146 <li><a href="#controls_android.edge.mode">android.edge.mode</a> (controls)</li>
147 <li><a href="#controls_android.edge.strength">android.edge.strength</a> (controls)</li>
148 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a> (dynamic)</li>
149 </ul>
150 </li> <!-- toc_section -->
151 <li><p class="toc_section"><a href="#section_flash">flash</a></p>
152 <ul class="toc_section">
153 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
154 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
155 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
156 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
157 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
158 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
159 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
160 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a> (dynamic)</li>
161 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a> (dynamic)</li>
162 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a> (dynamic)</li>
163 <li><a href="#dynamic_android.flash.state">android.flash.state</a> (dynamic)</li>
164 </ul>
165 </li> <!-- toc_section -->
166 <li><p class="toc_section"><a href="#section_geometric">geometric</a></p>
167 <ul class="toc_section">
168 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a> (controls)</li>
169 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
170 </ul>
171 </li> <!-- toc_section -->
172 <li><p class="toc_section"><a href="#section_hotPixel">hotPixel</a></p>
173 <ul class="toc_section">
174 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
175 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
176 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
177 </ul>
178 </li> <!-- toc_section -->
179 <li><p class="toc_section"><a href="#section_jpeg">jpeg</a></p>
180 <ul class="toc_section">
181 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
182 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
183 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
184 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
185 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
186 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
187 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
188 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
189 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a> (static)</li>
190 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (dynamic)</li>
191 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (dynamic)</li>
192 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (dynamic)</li>
193 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a> (dynamic)</li>
194 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a> (dynamic)</li>
195 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a> (dynamic)</li>
196 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (dynamic)</li>
197 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (dynamic)</li>
198 </ul>
199 </li> <!-- toc_section -->
200 <li><p class="toc_section"><a href="#section_lens">lens</a></p>
201 <ul class="toc_section">
202 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
203 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
204 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
205 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
206 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
207 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
208 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
209 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
210 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
211 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
212 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
213 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
214 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
215 <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
216 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
217 <li><a href="#static_android.lens.facing">android.lens.facing</a> (static)</li>
218 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
219 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
220 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
221 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
222 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
223 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
224 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
225 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
226 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
227 </ul>
228 </li> <!-- toc_section -->
229 <li><p class="toc_section"><a href="#section_noiseReduction">noiseReduction</a></p>
230 <ul class="toc_section">
231 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
232 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a> (controls)</li>
233 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a> (dynamic)</li>
234 </ul>
235 </li> <!-- toc_section -->
236 <li><p class="toc_section"><a href="#section_quirks">quirks</a></p>
237 <ul class="toc_section">
238 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a> (static)</li>
239 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a> (static)</li>
240 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a> (static)</li>
241 </ul>
242 </li> <!-- toc_section -->
243 <li><p class="toc_section"><a href="#section_request">request</a></p>
244 <ul class="toc_section">
245 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a> (controls)</li>
246 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
247 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
248 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a> (controls)</li>
249 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
250 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
251 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
252 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a> (static)</li>
253 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a> (dynamic)</li>
254 <li><a href="#dynamic_android.request.id">android.request.id</a> (dynamic)</li>
255 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a> (dynamic)</li>
256 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a> (dynamic)</li>
257 </ul>
258 </li> <!-- toc_section -->
259 <li><p class="toc_section"><a href="#section_scaler">scaler</a></p>
260 <ul class="toc_section">
261 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
262 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
263 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
264 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
265 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
266 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
267 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
268 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
269 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800270 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a> (dynamic)</li>
271 </ul>
272 </li> <!-- toc_section -->
273 <li><p class="toc_section"><a href="#section_sensor">sensor</a></p>
274 <ul class="toc_section">
275 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
276 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
277 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
278 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
279 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
280 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
281 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
282 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
283 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
284 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
285 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
286 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
287 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
288 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
289 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
290 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
291 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
292 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
293 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
294 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
295 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
296 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
297 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
298 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a> (static)</li>
299 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a> (dynamic)</li>
300 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a> (dynamic)</li>
301 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a> (dynamic)</li>
302 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
303 </ul>
304 </li> <!-- toc_section -->
305 <li><p class="toc_section"><a href="#section_shading">shading</a></p>
306 <ul class="toc_section">
307 <li><a href="#controls_android.shading.mode">android.shading.mode</a> (controls)</li>
308 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
309 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a> (dynamic)</li>
310 </ul>
311 </li> <!-- toc_section -->
312 <li><p class="toc_section"><a href="#section_statistics">statistics</a></p>
313 <ul class="toc_section">
314 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
315 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
316 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
317 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a> (static)</li>
318 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a> (static)</li>
319 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a> (static)</li>
320 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a> (static)</li>
321 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a> (static)</li>
322 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a> (static)</li>
323 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (dynamic)</li>
324 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
325 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
326 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
327 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
328 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
329 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a> (dynamic)</li>
330 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
331 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (dynamic)</li>
332 </ul>
333 </li> <!-- toc_section -->
334 <li><p class="toc_section"><a href="#section_tonemap">tonemap</a></p>
335 <ul class="toc_section">
336 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (controls)</li>
337 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (controls)</li>
338 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
339 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a> (controls)</li>
340 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a> (static)</li>
341 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (dynamic)</li>
342 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (dynamic)</li>
343 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a> (dynamic)</li>
344 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a> (dynamic)</li>
345 </ul>
346 </li> <!-- toc_section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -0700347 <li><p class="toc_section"><a href="#section_led">led</a></p>
348 <ul class="toc_section">
349 <li><a href="#controls_android.led.transmit">android.led.transmit</a> (controls)</li>
350 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a> (dynamic)</li>
351 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a> (static)</li>
352 </ul>
353 </li> <!-- toc_section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -0700354 <li><p class="toc_section"><a href="#section_info">info</a></p>
355 <ul class="toc_section">
356 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a> (static)</li>
357 </ul>
358 </li> <!-- toc_section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800359 </ul>
360
361 <h1>Properties</h1>
362 <table class="properties">
363
364 <thead class="thead_dummy">
365 <tr>
366 <th class="th_name">Property Name</th>
367 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700368 <th class="th_visibilty">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800369 <th class="th_description">Description</th>
370 <th class="th_units">Units</th>
371 <th class="th_range">Range</th>
372 <th class="th_notes">Notes</th>
373 <th class="th_tags">Tags</th>
374 </tr>
375 </thead> <!-- so that the first occurrence of thead is not
376 above the first occurrence of tr -->
377<!-- <namespace name="android"> -->
378 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
379
380
381 <tr><td colspan="7" class="kind">controls</td></tr>
382
383 <thead>
384 <tr>
385 <th class="th_name">Property Name</th>
386 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700387 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800388 <th class="th_description">Description</th>
389 <th class="th_units">Units</th>
390 <th class="th_range">Range</th>
391 <th class="th_notes">Notes</th>
392 <th class="th_tags">Tags</th>
393 </tr>
394 </thead>
395
396 <tbody>
397
398
399
400
401
402
403
404
405
406
407 <tr class="entry" id="controls_android.colorCorrection.mode">
408 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
409 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800410 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800411
412
413
414 <ul class="entry_type_enum">
415 <li>
416 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
417 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
418 to do color conversion</span>
419 </li>
420 <li>
421 <span class="entry_type_enum_name">FAST</span>
422 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
423 bayer output</span>
424 </li>
425 <li>
426 <span class="entry_type_enum_name">HIGH_QUALITY</span>
427 <span class="entry_type_enum_notes">Frame rate may be reduced by high
428 quality</span>
429 </li>
430 </ul>
431
432 </td> <!-- entry_type -->
433
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700434 <td class="entry_visibility">public</td>
435
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800436 <td class="entry_description">
437 </td>
438
439 <td class="entry_units">
440 </td>
441
442 <td class="entry_range">
443 </td>
444
445 <td class="entry_notes">
446 </td>
447
448 <td class="entry_tags">
449 </td>
450
451 </tr> <!-- end of entry -->
452
453
454 <tr class="entry" id="controls_android.colorCorrection.transform">
455 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
456 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800457 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800458 <span class="entry_type_container">x</span>
459
460 <span class="entry_type_array">
461 3 x 3
462 </span>
463
464 <div class="entry_type_notes">3x3 float matrix in row-major order</div>
465
466
467 </td> <!-- entry_type -->
468
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700469 <td class="entry_visibility">public</td>
470
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800471 <td class="entry_description">
472 A transform matrix to chromatically adapt
473 pixels in the CIE XYZ (1931) color space from the scene
474 illuminant to the sRGB-standard
475 D65-illuminant
476 </td>
477
478 <td class="entry_units">
479 </td>
480
481 <td class="entry_range">
482 Output values are expected to be in the range
483 (0,<wbr>1)
484 </td>
485
486 <td class="entry_notes">
487 Values outside (0,<wbr>1) should be clamped.<wbr> Need to
488 provide utilities to go from CCT (+hue?),<wbr> or (x,<wbr>y) white
489 point,<wbr> (or AWB mode) to matrix; use linear Bradford
490 algorithm.<wbr>
491 </td>
492
493 <td class="entry_tags">
494 </td>
495
496 </tr> <!-- end of entry -->
497
498
499
500 <!-- end of kind -->
501 </tbody>
502 <tr><td colspan="7" class="kind">dynamic</td></tr>
503
504 <thead>
505 <tr>
506 <th class="th_name">Property Name</th>
507 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700508 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800509 <th class="th_description">Description</th>
510 <th class="th_units">Units</th>
511 <th class="th_range">Range</th>
512 <th class="th_notes">Notes</th>
513 <th class="th_tags">Tags</th>
514 </tr>
515 </thead>
516
517 <tbody>
518
519
520
521
522
523
524
525
526
527
528 <tr class="entry" id="dynamic_android.colorCorrection.mode">
529 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
530 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800531 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800532
533
534
535 <ul class="entry_type_enum">
536 <li>
537 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
538 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
539 to do color conversion</span>
540 </li>
541 <li>
542 <span class="entry_type_enum_name">FAST</span>
543 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
544 bayer output</span>
545 </li>
546 <li>
547 <span class="entry_type_enum_name">HIGH_QUALITY</span>
548 <span class="entry_type_enum_notes">Frame rate may be reduced by high
549 quality</span>
550 </li>
551 </ul>
552
553 </td> <!-- entry_type -->
554
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700555 <td class="entry_visibility">public</td>
556
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800557 <td class="entry_description">
558 </td>
559
560 <td class="entry_units">
561 </td>
562
563 <td class="entry_range">
564 </td>
565
566 <td class="entry_notes">
567 </td>
568
569 <td class="entry_tags">
570 </td>
571
572 </tr> <!-- end of entry -->
573
574
575
576 <!-- end of kind -->
577 </tbody>
578
579 <!-- end of section -->
580 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
581
582
583 <tr><td colspan="7" class="kind">controls</td></tr>
584
585 <thead>
586 <tr>
587 <th class="th_name">Property Name</th>
588 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700589 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800590 <th class="th_description">Description</th>
591 <th class="th_units">Units</th>
592 <th class="th_range">Range</th>
593 <th class="th_notes">Notes</th>
594 <th class="th_tags">Tags</th>
595 </tr>
596 </thead>
597
598 <tbody>
599
600
601
602
603
604
605
606
607
608
609 <tr class="entry" id="controls_android.control.aeAntibandingMode">
610 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
611 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800612 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800613
614
615
616 <ul class="entry_type_enum">
617 <li>
618 <span class="entry_type_enum_name">OFF</span>
619 </li>
620 <li>
621 <span class="entry_type_enum_name">50HZ</span>
622 </li>
623 <li>
624 <span class="entry_type_enum_name">60HZ</span>
625 </li>
626 <li>
627 <span class="entry_type_enum_name">AUTO</span>
628 </li>
629 </ul>
630
631 </td> <!-- entry_type -->
632
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700633 <td class="entry_visibility">public</td>
634
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800635 <td class="entry_description">
636 Enum for controlling
637 antibanding
638 </td>
639
640 <td class="entry_units">
641 </td>
642
643 <td class="entry_range">
644
645 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
646 </td>
647
648 <td class="entry_notes">
649 </td>
650
651 <td class="entry_tags">
652 </td>
653
654 </tr> <!-- end of entry -->
655
656
657 <tr class="entry" id="controls_android.control.aeExposureCompensation">
658 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
659 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800660 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800661
662
663
664
665 </td> <!-- entry_type -->
666
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700667 <td class="entry_visibility">public</td>
668
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800669 <td class="entry_description">
670 Adjustment to AE target image
671 brightness
672 </td>
673
674 <td class="entry_units">
675 count of positive/<wbr>negative EV steps
676 </td>
677
678 <td class="entry_range">
679 </td>
680
681 <td class="entry_notes">
682 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
683 exposure compensation of +2 EV; -3 will mean an exposure
684 compensation of -1
685 </td>
686
687 <td class="entry_tags">
688 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800689 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800690 </ul>
691 </td>
692
693 </tr> <!-- end of entry -->
694
695
696 <tr class="entry" id="controls_android.control.aeLock">
697 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
698 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800699 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800700
701
702
703 <ul class="entry_type_enum">
704 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -0800705 <span class="entry_type_enum_name">OFF</span>
706 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
707 is free to update its parameters.<wbr></span>
708 </li>
709 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800710 <span class="entry_type_enum_name">ON</span>
711 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
712 must not update the exposure and sensitivity parameters
713 while the lock is active</span>
714 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800715 </ul>
716
717 </td> <!-- entry_type -->
718
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700719 <td class="entry_visibility">public</td>
720
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800721 <td class="entry_description">
722 Whether AE is currently locked to its latest
723 calculated values
724 </td>
725
726 <td class="entry_units">
727 </td>
728
729 <td class="entry_range">
730 </td>
731
732 <td class="entry_notes">
733 Note that even when AE is locked,<wbr> the flash may be
734 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
735 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
736 </td>
737
738 <td class="entry_tags">
739 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800740 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800741 </ul>
742 </td>
743
744 </tr> <!-- end of entry -->
745
746
747 <tr class="entry" id="controls_android.control.aeMode">
748 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
749 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800750 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800751
752
753
754 <ul class="entry_type_enum">
755 <li>
756 <span class="entry_type_enum_name">OFF</span>
757 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime
758 and sensor.<wbr>sensitivity are used</span>
759 </li>
760 <li>
761 <span class="entry_type_enum_name">ON</span>
762 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
763 control</span>
764 </li>
765 <li>
766 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
767 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
768 flash control; flash may be fired when precapture
769 trigger is activated,<wbr> and for captures for which
770 captureIntent = STILL_<wbr>CAPTURE</span>
771 </li>
772 <li>
773 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
774 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
775 flash control for precapture trigger and always flash
776 when captureIntent = STILL_<wbr>CAPTURE</span>
777 </li>
778 <li>
779 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
780 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
781 If deemed necessary,<wbr> red eye reduction sequence should
782 fire when precapture trigger is activated,<wbr> and final
783 flash should fire when captureIntent =
784 STILL_<wbr>CAPTURE</span>
785 </li>
786 </ul>
787
788 </td> <!-- entry_type -->
789
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700790 <td class="entry_visibility">public</td>
791
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800792 <td class="entry_description">
793 Whether AE is currently updating the sensor
794 exposure and sensitivity fields
795 </td>
796
797 <td class="entry_units">
798 </td>
799
800 <td class="entry_range">
801 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
802 </td>
803
804 <td class="entry_notes">
805 Only effective if android.<wbr>control.<wbr>mode =
806 AUTO
807 </td>
808
809 <td class="entry_tags">
810 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800811 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800812 </ul>
813 </td>
814
815 </tr> <!-- end of entry -->
816
817
818 <tr class="entry" id="controls_android.control.aeRegions">
819 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
820 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800821 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800822 <span class="entry_type_container">x</span>
823
824 <span class="entry_type_array">
825 5 x area_count
826 </span>
827
828
829
830 </td> <!-- entry_type -->
831
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700832 <td class="entry_visibility">public</td>
833
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800834 <td class="entry_description">
835 List of areas to use for
836 metering
837 </td>
838
839 <td class="entry_units">
840 </td>
841
842 <td class="entry_range">
843 </td>
844
845 <td class="entry_notes">
846 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
847 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
848 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
849 active pixel array,<wbr> and
850 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
851 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
852 bottom-right point of the active pixel array.<wbr> The weight
853 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
854 no specific metering area needs to be used by the HAL.<wbr> If
855 the metering region is outside the current
856 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
857 sections outside the region and output the used sections
858 in the frame metadata
859 </td>
860
861 <td class="entry_tags">
862 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800863 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800864 </ul>
865 </td>
866
867 </tr> <!-- end of entry -->
868
869
870 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
871 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
872 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800873 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800874 <span class="entry_type_container">x</span>
875
876 <span class="entry_type_array">
877 2
878 </span>
879
880
881
882 </td> <!-- entry_type -->
883
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700884 <td class="entry_visibility">public</td>
885
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800886 <td class="entry_description">
887 Range over which fps can be adjusted to
888 maintain exposure
889 </td>
890
891 <td class="entry_units">
892 </td>
893
894 <td class="entry_range">
895 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
896 </td>
897
898 <td class="entry_notes">
899 Only constrains AE algorithm,<wbr> not manual control
900 of android.<wbr>sensor.<wbr>exposure<wbr>Time
901 </td>
902
903 <td class="entry_tags">
904 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -0800905 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800906 </ul>
907 </td>
908
909 </tr> <!-- end of entry -->
910
911
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700912 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
913 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
914 <td class="entry_type">
915 <span class="entry_type_name entry_type_name_enum">byte</span>
916
917
918
919 <ul class="entry_type_enum">
920 <li>
921 <span class="entry_type_enum_name">IDLE</span>
922 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
923 </li>
924 <li>
925 <span class="entry_type_enum_name">START</span>
926 <span class="entry_type_enum_notes">The precapture metering sequence
927 must be started.<wbr> The exact effect of the precapture
928 trigger depends on the current AE mode and
929 state.<wbr></span>
930 </li>
931 </ul>
932
933 </td> <!-- entry_type -->
934
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -0700935 <td class="entry_visibility">public</td>
936
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -0700937 <td class="entry_description">
938 Whether the HAL must trigger precapture
939 metering.<wbr>
940 </td>
941
942 <td class="entry_units">
943 </td>
944
945 <td class="entry_range">
946 </td>
947
948 <td class="entry_notes">
949 This entry is normally set to IDLE,<wbr> or is not
950 included at all in the request settings.<wbr> When included and
951 set to START,<wbr> the HAL must trigger the autoexposure
952 precapture metering sequence.<wbr> The effect of AE precapture
953 trigger depends on the current AE mode and state; see the
954 camera HAL device v3 header for details.<wbr>
955 </td>
956
957 <td class="entry_tags">
958 <ul class="entry_tags">
959 <li><a href="#tag_BC">BC</a></li>
960 </ul>
961 </td>
962
963 </tr> <!-- end of entry -->
964
965
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800966 <tr class="entry" id="controls_android.control.afMode">
967 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
968 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800969 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800970
971
972
973 <ul class="entry_type_enum">
974 <li>
975 <span class="entry_type_enum_name">OFF</span>
976 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
977 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
978 application</span>
979 </li>
980 <li>
981 <span class="entry_type_enum_name">AUTO</span>
982 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
983 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
984 is fixed focus In this mode,<wbr> the lens does not move
985 unless the autofocus trigger action is called.<wbr> When
986 that trigger is activated,<wbr> AF must transition to
987 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
988 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
989 position to default,<wbr> and sets the AF state to
990 INACTIVE.<wbr></span>
991 </li>
992 <li>
993 <span class="entry_type_enum_name">MACRO</span>
994 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
995 autofocus trigger action is called.<wbr> When that trigger
996 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
997 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
998 Triggering cancel AF resets the lens position to
999 default,<wbr> and sets the AF state to
1000 INACTIVE.<wbr></span>
1001 </li>
1002 <li>
1003 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1004 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1005 position continually to attempt to provide a
1006 constantly-in-focus image stream.<wbr> The focusing behavior
1007 should be suitable for good quality video recording;
1008 typically this means slower focus movement and no
1009 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
1010 algorithm should start in INACTIVE state,<wbr> and then
1011 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
1012 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
1013 algorithm should immediately transition into AF_<wbr>FOCUSED
1014 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
1015 position until a cancel AF trigger is received.<wbr> Once
1016 cancel is received,<wbr> the algorithm should transition
1017 back to INACTIVE and resume passive scan.<wbr> Note that
1018 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
1019 since an ongoing PASSIVE_<wbr>SCAN must immediately be
1020 canceled.<wbr></span>
1021 </li>
1022 <li>
1023 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1024 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1025 position continually to attempt to provide a
1026 constantly-in-focus image stream.<wbr> The focusing behavior
1027 should be suitable for still image capture; typically
1028 this means focusing as fast as possible.<wbr> When the AF
1029 trigger is not involved,<wbr> the AF algorithm should start
1030 in INACTIVE state,<wbr> and then transition into
1031 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
1032 as it attempts to maintain focus.<wbr> When the AF trigger
1033 is activated,<wbr> the algorithm should finish its
1034 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
1035 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
1036 the lens position until a cancel AF trigger is
1037 received.<wbr> When the AF cancel trigger is activated,<wbr> the
1038 algorithm should transition back to INACTIVE and then
1039 act as if it has just been started.<wbr></span>
1040 </li>
1041 <li>
1042 <span class="entry_type_enum_name">EDOF</span>
1043 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1044 trigger is ignored,<wbr> AF state should always be
1045 INACTIVE.<wbr></span>
1046 </li>
1047 </ul>
1048
1049 </td> <!-- entry_type -->
1050
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001051 <td class="entry_visibility">public</td>
1052
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001053 <td class="entry_description">
1054 Whether AF is currently enabled,<wbr> and what
1055 mode it is set to
1056 </td>
1057
1058 <td class="entry_units">
1059 </td>
1060
1061 <td class="entry_range">
1062 </td>
1063
1064 <td class="entry_notes">
1065 </td>
1066
1067 <td class="entry_tags">
1068 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001069 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001070 </ul>
1071 </td>
1072
1073 </tr> <!-- end of entry -->
1074
1075
1076 <tr class="entry" id="controls_android.control.afRegions">
1077 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1078 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001079 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001080 <span class="entry_type_container">x</span>
1081
1082 <span class="entry_type_array">
1083 5 x area_count
1084 </span>
1085
1086
1087
1088 </td> <!-- entry_type -->
1089
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001090 <td class="entry_visibility">public</td>
1091
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001092 <td class="entry_description">
1093 List of areas to use for focus
1094 estimation
1095 </td>
1096
1097 <td class="entry_units">
1098 </td>
1099
1100 <td class="entry_range">
1101 </td>
1102
1103 <td class="entry_notes">
1104 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1105 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
1106 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
1107 active pixel array,<wbr> and
1108 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1109 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1110 bottom-right point of the active pixel array.<wbr> The weight
1111 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1112 no specific focus area needs to be used by the HAL.<wbr> If
1113 the focusing region is outside the current
1114 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1115 sections outside the region and output the used sections
1116 in the frame metadata
1117 </td>
1118
1119 <td class="entry_tags">
1120 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001121 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001122 </ul>
1123 </td>
1124
1125 </tr> <!-- end of entry -->
1126
1127
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001128 <tr class="entry" id="controls_android.control.afTrigger">
1129 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1130 <td class="entry_type">
1131 <span class="entry_type_name entry_type_name_enum">byte</span>
1132
1133
1134
1135 <ul class="entry_type_enum">
1136 <li>
1137 <span class="entry_type_enum_name">IDLE</span>
1138 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1139 </li>
1140 <li>
1141 <span class="entry_type_enum_name">START</span>
1142 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1143 </li>
1144 <li>
1145 <span class="entry_type_enum_name">CANCEL</span>
1146 <span class="entry_type_enum_notes">Autofocus must return to initial
1147 state,<wbr> and cancel any active trigger.<wbr></span>
1148 </li>
1149 </ul>
1150
1151 </td> <!-- entry_type -->
1152
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001153 <td class="entry_visibility">public</td>
1154
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001155 <td class="entry_description">
1156 Whether the HAL must trigger autofocus.<wbr>
1157 </td>
1158
1159 <td class="entry_units">
1160 </td>
1161
1162 <td class="entry_range">
1163 </td>
1164
1165 <td class="entry_notes">
1166 This entry is normally set to IDLE,<wbr> or is not
1167 included at all in the request settings.<wbr> When included and
1168 set to START,<wbr> the HAL must trigger the autofocus
1169 algorithm.<wbr> The effect of AF trigger depends on the current
1170 AF mode and state; see the camera HAL device v3 header for
1171 details.<wbr> When set to CANCEL,<wbr> the HAL must cancel any active
1172 trigger,<wbr> and return to initial AF state.<wbr>
1173 </td>
1174
1175 <td class="entry_tags">
1176 <ul class="entry_tags">
1177 <li><a href="#tag_BC">BC</a></li>
1178 </ul>
1179 </td>
1180
1181 </tr> <!-- end of entry -->
1182
1183
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001184 <tr class="entry" id="controls_android.control.awbLock">
1185 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001187 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001188
1189
1190
1191 <ul class="entry_type_enum">
1192 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001193 <span class="entry_type_enum_name">OFF</span>
1194 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1195 algorithm is free to update its parameters if in AUTO
1196 mode.<wbr></span>
1197 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001198 <li>
1199 <span class="entry_type_enum_name">ON</span>
1200 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1201 algorithm must not update the exposure and sensitivity
1202 parameters while the lock is active</span>
1203 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001204 </ul>
1205
1206 </td> <!-- entry_type -->
1207
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001208 <td class="entry_visibility">public</td>
1209
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001210 <td class="entry_description">
1211 Whether AWB is currently locked to its
1212 latest calculated values
1213 </td>
1214
1215 <td class="entry_units">
1216 </td>
1217
1218 <td class="entry_range">
1219 </td>
1220
1221 <td class="entry_notes">
1222 Note that AWB lock is only meaningful for AUTO
1223 mode; in other modes,<wbr> AWB is already fixed to a specific
1224 setting
1225 </td>
1226
1227 <td class="entry_tags">
1228 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001229 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001230 </ul>
1231 </td>
1232
1233 </tr> <!-- end of entry -->
1234
1235
1236 <tr class="entry" id="controls_android.control.awbMode">
1237 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1238 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001239 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001240
1241
1242
1243 <ul class="entry_type_enum">
1244 <li>
1245 <span class="entry_type_enum_name">OFF</span>
1246 </li>
1247 <li>
1248 <span class="entry_type_enum_name">AUTO</span>
1249 </li>
1250 <li>
1251 <span class="entry_type_enum_name">INCANDESCENT</span>
1252 </li>
1253 <li>
1254 <span class="entry_type_enum_name">FLUORESCENT</span>
1255 </li>
1256 <li>
1257 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1258 </li>
1259 <li>
1260 <span class="entry_type_enum_name">DAYLIGHT</span>
1261 </li>
1262 <li>
1263 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1264 </li>
1265 <li>
1266 <span class="entry_type_enum_name">TWILIGHT</span>
1267 </li>
1268 <li>
1269 <span class="entry_type_enum_name">SHADE</span>
1270 </li>
1271 </ul>
1272
1273 </td> <!-- entry_type -->
1274
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001275 <td class="entry_visibility">public</td>
1276
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001277 <td class="entry_description">
1278 Whether AWB is currently setting the color
1279 transform fields,<wbr> and what its illumination target
1280 is
1281 </td>
1282
1283 <td class="entry_units">
1284 </td>
1285
1286 <td class="entry_range">
1287 </td>
1288
1289 <td class="entry_notes">
1290 [BC - AWB lock,<wbr>AWB modes]
1291 </td>
1292
1293 <td class="entry_tags">
1294 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001295 <li><a href="#tag_BC">BC</a></li>
1296 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001297 </ul>
1298 </td>
1299
1300 </tr> <!-- end of entry -->
1301
1302
1303 <tr class="entry" id="controls_android.control.awbRegions">
1304 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1305 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001306 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001307 <span class="entry_type_container">x</span>
1308
1309 <span class="entry_type_array">
1310 5 x area_count
1311 </span>
1312
1313
1314
1315 </td> <!-- entry_type -->
1316
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001317 <td class="entry_visibility">public</td>
1318
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001319 <td class="entry_description">
1320 List of areas to use for illuminant
1321 estimation
1322 </td>
1323
1324 <td class="entry_units">
1325 </td>
1326
1327 <td class="entry_range">
1328 </td>
1329
1330 <td class="entry_notes">
1331 Only used in AUTO mode.<wbr> Each area is a rectangle
1332 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
1333 coordinate system is based on the active pixel array,<wbr>
1334 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
1335 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1336 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1337 bottom-right point of the active pixel array.<wbr> The weight
1338 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1339 no specific metering area needs to be used by the HAL.<wbr> If
1340 the metering region is outside the current
1341 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1342 sections outside the region and output the used sections
1343 in the frame metadata
1344 </td>
1345
1346 <td class="entry_tags">
1347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001348 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001349 </ul>
1350 </td>
1351
1352 </tr> <!-- end of entry -->
1353
1354
1355 <tr class="entry" id="controls_android.control.captureIntent">
1356 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1357 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001358 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001359
1360
1361
1362 <ul class="entry_type_enum">
1363 <li>
1364 <span class="entry_type_enum_name">CUSTOM</span>
1365 <span class="entry_type_enum_notes">This request doesn't fall into the other
1366 categories.<wbr> Default to preview-like
1367 behavior.<wbr></span>
1368 </li>
1369 <li>
1370 <span class="entry_type_enum_name">PREVIEW</span>
1371 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1372 precapture trigger may be used to start off a metering
1373 w/<wbr>flash sequence</span>
1374 </li>
1375 <li>
1376 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1377 <span class="entry_type_enum_notes">This request is for a still capture-type
1378 usecase.<wbr></span>
1379 </li>
1380 <li>
1381 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1382 <span class="entry_type_enum_notes">This request is for a video recording
1383 usecase.<wbr></span>
1384 </li>
1385 <li>
1386 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1387 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1388 image while recording video) usecase</span>
1389 </li>
1390 <li>
1391 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1392 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1393 application will stream full-resolution images and
1394 reprocess one or several later for a final
1395 capture</span>
1396 </li>
1397 </ul>
1398
1399 </td> <!-- entry_type -->
1400
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001401 <td class="entry_visibility">public</td>
1402
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001403 <td class="entry_description">
1404 Information to 3A routines about the purpose
1405 of this capture,<wbr> to help decide optimal 3A
1406 strategy
1407 </td>
1408
1409 <td class="entry_units">
1410 </td>
1411
1412 <td class="entry_range">
1413 all must be supported
1414 </td>
1415
1416 <td class="entry_notes">
1417 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1418 </td>
1419
1420 <td class="entry_tags">
1421 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001422 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001423 </ul>
1424 </td>
1425
1426 </tr> <!-- end of entry -->
1427
1428
1429 <tr class="entry" id="controls_android.control.effectMode">
1430 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1431 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001432 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001433
1434
1435
1436 <ul class="entry_type_enum">
1437 <li>
1438 <span class="entry_type_enum_name">OFF</span>
1439 </li>
1440 <li>
1441 <span class="entry_type_enum_name">MONO</span>
1442 <span class="entry_type_enum_optional">optional</span>
1443 </li>
1444 <li>
1445 <span class="entry_type_enum_name">NEGATIVE</span>
1446 <span class="entry_type_enum_optional">optional</span>
1447 </li>
1448 <li>
1449 <span class="entry_type_enum_name">SOLARIZE</span>
1450 <span class="entry_type_enum_optional">optional</span>
1451 </li>
1452 <li>
1453 <span class="entry_type_enum_name">SEPIA</span>
1454 <span class="entry_type_enum_optional">optional</span>
1455 </li>
1456 <li>
1457 <span class="entry_type_enum_name">POSTERIZE</span>
1458 <span class="entry_type_enum_optional">optional</span>
1459 </li>
1460 <li>
1461 <span class="entry_type_enum_name">WHITEBOARD</span>
1462 <span class="entry_type_enum_optional">optional</span>
1463 </li>
1464 <li>
1465 <span class="entry_type_enum_name">BLACKBOARD</span>
1466 <span class="entry_type_enum_optional">optional</span>
1467 </li>
1468 <li>
1469 <span class="entry_type_enum_name">AQUA</span>
1470 <span class="entry_type_enum_optional">optional</span>
1471 </li>
1472 </ul>
1473
1474 </td> <!-- entry_type -->
1475
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001476 <td class="entry_visibility">public</td>
1477
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001478 <td class="entry_description">
1479 Whether any special color effect is in use.<wbr>
1480 Only used if android.<wbr>control.<wbr>mode != OFF
1481 </td>
1482
1483 <td class="entry_units">
1484 </td>
1485
1486 <td class="entry_range">
1487 android.<wbr>control.<wbr>available<wbr>Effects
1488 </td>
1489
1490 <td class="entry_notes">
1491 </td>
1492
1493 <td class="entry_tags">
1494 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001495 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001496 </ul>
1497 </td>
1498
1499 </tr> <!-- end of entry -->
1500
1501
1502 <tr class="entry" id="controls_android.control.mode">
1503 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1504 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001505 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001506
1507
1508
1509 <ul class="entry_type_enum">
1510 <li>
1511 <span class="entry_type_enum_name">OFF</span>
1512 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1513 routines are disabled,<wbr> no other settings in
1514 android.<wbr>control.<wbr>* have any effect</span>
1515 </li>
1516 <li>
1517 <span class="entry_type_enum_name">AUTO</span>
1518 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1519 Manual control of capture parameters is disabled.<wbr> All
1520 controls in android.<wbr>control.<wbr>* besides sceneMode take
1521 effect</span>
1522 </li>
1523 <li>
1524 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1525 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1526 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1527 controls; the HAL must ignore those settings while
1528 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1529 scene mode).<wbr> Other control entries are still active.<wbr>
1530 This setting can only be used if availableSceneModes !=
1531 UNSUPPORTED</span>
1532 </li>
1533 </ul>
1534
1535 </td> <!-- entry_type -->
1536
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001537 <td class="entry_visibility">public</td>
1538
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001539 <td class="entry_description">
1540 Overall mode of 3A control
1541 routines
1542 </td>
1543
1544 <td class="entry_units">
1545 </td>
1546
1547 <td class="entry_range">
1548 all must be supported
1549 </td>
1550
1551 <td class="entry_notes">
1552 </td>
1553
1554 <td class="entry_tags">
1555 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001556 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001557 </ul>
1558 </td>
1559
1560 </tr> <!-- end of entry -->
1561
1562
1563 <tr class="entry" id="controls_android.control.sceneMode">
1564 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1565 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001566 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567
1568
1569
1570 <ul class="entry_type_enum">
1571 <li>
1572 <span class="entry_type_enum_name">UNSUPPORTED</span>
1573 <span class="entry_type_enum_value">0</span>
1574 </li>
1575 <li>
1576 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1577 <span class="entry_type_enum_notes">if face detection support exists Use face
1578 detection data to drive 3A routines.<wbr> If face detection
1579 statistics are disabled,<wbr> should still operate correctly
1580 (but not return face detection statistics to the
1581 framework).<wbr> Unlike the other scene modes,<wbr> aeMode,<wbr>
1582 awbMode,<wbr> and afMode remain active when FACE_<wbr>PRIORITY is
1583 set.<wbr> This is due to compatibility concerns with the old
1584 camera API</span>
1585 </li>
1586 <li>
1587 <span class="entry_type_enum_name">ACTION</span>
1588 <span class="entry_type_enum_optional">optional</span>
1589 </li>
1590 <li>
1591 <span class="entry_type_enum_name">PORTRAIT</span>
1592 <span class="entry_type_enum_optional">optional</span>
1593 </li>
1594 <li>
1595 <span class="entry_type_enum_name">LANDSCAPE</span>
1596 <span class="entry_type_enum_optional">optional</span>
1597 </li>
1598 <li>
1599 <span class="entry_type_enum_name">NIGHT</span>
1600 <span class="entry_type_enum_optional">optional</span>
1601 </li>
1602 <li>
1603 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1604 <span class="entry_type_enum_optional">optional</span>
1605 </li>
1606 <li>
1607 <span class="entry_type_enum_name">THEATRE</span>
1608 <span class="entry_type_enum_optional">optional</span>
1609 </li>
1610 <li>
1611 <span class="entry_type_enum_name">BEACH</span>
1612 <span class="entry_type_enum_optional">optional</span>
1613 </li>
1614 <li>
1615 <span class="entry_type_enum_name">SNOW</span>
1616 <span class="entry_type_enum_optional">optional</span>
1617 </li>
1618 <li>
1619 <span class="entry_type_enum_name">SUNSET</span>
1620 <span class="entry_type_enum_optional">optional</span>
1621 </li>
1622 <li>
1623 <span class="entry_type_enum_name">STEADYPHOTO</span>
1624 <span class="entry_type_enum_optional">optional</span>
1625 </li>
1626 <li>
1627 <span class="entry_type_enum_name">FIREWORKS</span>
1628 <span class="entry_type_enum_optional">optional</span>
1629 </li>
1630 <li>
1631 <span class="entry_type_enum_name">SPORTS</span>
1632 <span class="entry_type_enum_optional">optional</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">PARTY</span>
1636 <span class="entry_type_enum_optional">optional</span>
1637 </li>
1638 <li>
1639 <span class="entry_type_enum_name">CANDLELIGHT</span>
1640 <span class="entry_type_enum_optional">optional</span>
1641 </li>
1642 <li>
1643 <span class="entry_type_enum_name">BARCODE</span>
1644 <span class="entry_type_enum_optional">optional</span>
1645 </li>
1646 </ul>
1647
1648 </td> <!-- entry_type -->
1649
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001650 <td class="entry_visibility">public</td>
1651
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001652 <td class="entry_description">
1653 Which scene mode is active when
1654 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
1655 </td>
1656
1657 <td class="entry_units">
1658 </td>
1659
1660 <td class="entry_range">
1661 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
1662 </td>
1663
1664 <td class="entry_notes">
1665 </td>
1666
1667 <td class="entry_tags">
1668 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001669 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001670 </ul>
1671 </td>
1672
1673 </tr> <!-- end of entry -->
1674
1675
1676 <tr class="entry" id="controls_android.control.videoStabilizationMode">
1677 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
1678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001679 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001680
1681
1682
1683 <ul class="entry_type_enum">
1684 <li>
1685 <span class="entry_type_enum_name">OFF</span>
1686 </li>
1687 <li>
1688 <span class="entry_type_enum_name">ON</span>
1689 </li>
1690 </ul>
1691
1692 </td> <!-- entry_type -->
1693
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001694 <td class="entry_visibility">public</td>
1695
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001696 <td class="entry_description">
1697 Whether video stabilization is
1698 active
1699 </td>
1700
1701 <td class="entry_units">
1702 </td>
1703
1704 <td class="entry_range">
1705 </td>
1706
1707 <td class="entry_notes">
1708 If enabled,<wbr> video stabilization can modify the
1709 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
1710 stabilized
1711 </td>
1712
1713 <td class="entry_tags">
1714 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001715 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001716 </ul>
1717 </td>
1718
1719 </tr> <!-- end of entry -->
1720
1721
1722
1723 <!-- end of kind -->
1724 </tbody>
1725 <tr><td colspan="7" class="kind">static</td></tr>
1726
1727 <thead>
1728 <tr>
1729 <th class="th_name">Property Name</th>
1730 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001731 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001732 <th class="th_description">Description</th>
1733 <th class="th_units">Units</th>
1734 <th class="th_range">Range</th>
1735 <th class="th_notes">Notes</th>
1736 <th class="th_tags">Tags</th>
1737 </tr>
1738 </thead>
1739
1740 <tbody>
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
1752 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
1753 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001754 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001755 <span class="entry_type_container">x</span>
1756
1757 <span class="entry_type_array">
1758 n
1759 </span>
1760
1761 <div class="entry_type_notes">list of enums</div>
1762
1763
1764 </td> <!-- entry_type -->
1765
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001766 <td class="entry_visibility">public</td>
1767
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001768 <td class="entry_description">
1769 Which set of antibanding modes are
1770 supported
1771 </td>
1772
1773 <td class="entry_units">
1774 </td>
1775
1776 <td class="entry_range">
1777 </td>
1778
1779 <td class="entry_notes">
1780 </td>
1781
1782 <td class="entry_tags">
1783 </td>
1784
1785 </tr> <!-- end of entry -->
1786
1787
1788 <tr class="entry" id="static_android.control.aeAvailableModes">
1789 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
1790 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001791 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001792 <span class="entry_type_container">x</span>
1793
1794 <span class="entry_type_array">
1795 n
1796 </span>
1797
1798 <div class="entry_type_notes">list of enums</div>
1799
1800
1801 </td> <!-- entry_type -->
1802
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001803 <td class="entry_visibility">system</td>
1804
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001805 <td class="entry_description">
1806 Which subset of AE modes is
1807 supported
1808 </td>
1809
1810 <td class="entry_units">
1811 </td>
1812
1813 <td class="entry_range">
1814 OFF,<wbr> ON must be supported.<wbr>
1815 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
1816 unit is available
1817 </td>
1818
1819 <td class="entry_notes">
1820 </td>
1821
1822 <td class="entry_tags">
1823 </td>
1824
1825 </tr> <!-- end of entry -->
1826
1827
1828 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
1829 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
1830 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001831 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001832 <span class="entry_type_container">x</span>
1833
1834 <span class="entry_type_array">
1835 2 x n
1836 </span>
1837
1838 <div class="entry_type_notes">list of pairs of frame rates</div>
1839
1840
1841 </td> <!-- entry_type -->
1842
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001843 <td class="entry_visibility">public</td>
1844
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001845 <td class="entry_description">
1846 List of frame rate ranges supported by the
1847 AE algorithm/<wbr>hardware
1848 </td>
1849
1850 <td class="entry_units">
1851 </td>
1852
1853 <td class="entry_range">
1854 </td>
1855
1856 <td class="entry_notes">
1857 </td>
1858
1859 <td class="entry_tags">
1860 </td>
1861
1862 </tr> <!-- end of entry -->
1863
1864
1865 <tr class="entry" id="static_android.control.aeCompensationRange">
1866 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
1867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001868 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001869 <span class="entry_type_container">x</span>
1870
1871 <span class="entry_type_array">
1872 2
1873 </span>
1874
1875
1876
1877 </td> <!-- entry_type -->
1878
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001879 <td class="entry_visibility">public</td>
1880
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001881 <td class="entry_description">
1882 Maximum and minimum exposure compensation
1883 setting,<wbr> in counts of
1884 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
1885 </td>
1886
1887 <td class="entry_units">
1888 </td>
1889
1890 <td class="entry_range">
1891 At least (-2,<wbr>2)/<wbr>(exp compensation step
1892 size)
1893 </td>
1894
1895 <td class="entry_notes">
1896 </td>
1897
1898 <td class="entry_tags">
1899 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001900 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001901 </ul>
1902 </td>
1903
1904 </tr> <!-- end of entry -->
1905
1906
1907 <tr class="entry" id="static_android.control.aeCompensationStep">
1908 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
1909 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001910 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001911
1912
1913
1914
1915 </td> <!-- entry_type -->
1916
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001917 <td class="entry_visibility">public</td>
1918
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001919 <td class="entry_description">
1920 Smallest step by which exposure compensation
1921 can be changed
1922 </td>
1923
1924 <td class="entry_units">
1925 </td>
1926
1927 <td class="entry_range">
1928 <= 1/<wbr>2
1929 </td>
1930
1931 <td class="entry_notes">
1932 </td>
1933
1934 <td class="entry_tags">
1935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001936 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001937 </ul>
1938 </td>
1939
1940 </tr> <!-- end of entry -->
1941
1942
1943 <tr class="entry" id="static_android.control.afAvailableModes">
1944 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
1945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001946 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001947 <span class="entry_type_container">x</span>
1948
1949 <span class="entry_type_array">
1950 n
1951 </span>
1952
1953 <div class="entry_type_notes">List of enums</div>
1954
1955
1956 </td> <!-- entry_type -->
1957
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07001958 <td class="entry_visibility">public</td>
1959
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001960 <td class="entry_description">
1961 List of AF modes that can be
1962 selected
1963 </td>
1964
1965 <td class="entry_units">
1966 </td>
1967
1968 <td class="entry_range">
1969 OFF must be included.<wbr> AUTO must be supported if
1970 lens allows for changing focus
1971 </td>
1972
1973 <td class="entry_notes">
1974 </td>
1975
1976 <td class="entry_tags">
1977 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001978 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001979 </ul>
1980 </td>
1981
1982 </tr> <!-- end of entry -->
1983
1984
1985 <tr class="entry" id="static_android.control.availableEffects">
1986 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
1987 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001988 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001989 <span class="entry_type_container">x</span>
1990
1991 <span class="entry_type_array">
1992 n
1993 </span>
1994
1995 <div class="entry_type_notes">list of enums</div>
1996
1997
1998 </td> <!-- entry_type -->
1999
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002000 <td class="entry_visibility">public</td>
2001
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002002 <td class="entry_description">
2003 what subset of the full color effect enum
2004 list is supported
2005 </td>
2006
2007 <td class="entry_units">
2008 </td>
2009
2010 <td class="entry_range">
2011 OFF must be listed
2012 </td>
2013
2014 <td class="entry_notes">
2015 </td>
2016
2017 <td class="entry_tags">
2018 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002019 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002020 </ul>
2021 </td>
2022
2023 </tr> <!-- end of entry -->
2024
2025
2026 <tr class="entry" id="static_android.control.availableSceneModes">
2027 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2028 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002029 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002030 <span class="entry_type_container">x</span>
2031
2032 <span class="entry_type_array">
2033 n
2034 </span>
2035
2036 <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>
2037
2038
2039 </td> <!-- entry_type -->
2040
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002041 <td class="entry_visibility">public</td>
2042
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002043 <td class="entry_description">
2044 what subset of the scene mode enum list is
2045 supported.<wbr>
2046 </td>
2047
2048 <td class="entry_units">
2049 </td>
2050
2051 <td class="entry_range">
2052 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2053 detection is supported
2054 </td>
2055
2056 <td class="entry_notes">
2057 </td>
2058
2059 <td class="entry_tags">
2060 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002061 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002062 </ul>
2063 </td>
2064
2065 </tr> <!-- end of entry -->
2066
2067
2068 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2069 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2070 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002071 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002072 <span class="entry_type_container">x</span>
2073
2074 <span class="entry_type_array">
2075 n
2076 </span>
2077
2078 <div class="entry_type_notes">List of enums.<wbr></div>
2079
2080
2081 </td> <!-- entry_type -->
2082
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002083 <td class="entry_visibility">public</td>
2084
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002085 <td class="entry_description">
2086 List of video stabilization modes that can
2087 be supported
2088 </td>
2089
2090 <td class="entry_units">
2091 </td>
2092
2093 <td class="entry_range">
2094 OFF must be included
2095 </td>
2096
2097 <td class="entry_notes">
2098 </td>
2099
2100 <td class="entry_tags">
2101 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002102 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002103 </ul>
2104 </td>
2105
2106 </tr> <!-- end of entry -->
2107
2108
2109 <tr class="entry" id="static_android.control.awbAvailableModes">
2110 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002112 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002113 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002114
Alex Raya4251d92013-04-30 16:43:44 -07002115 <span class="entry_type_array">
2116 n
2117 </span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002118
Alex Raya4251d92013-04-30 16:43:44 -07002119 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002120
2121
2122 </td> <!-- entry_type -->
2123
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002124 <td class="entry_visibility">public</td>
2125
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002126 <td class="entry_description">
2127 </td>
2128
2129 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002130 </td>
2131
2132 <td class="entry_range">
2133 OFF,<wbr> AUTO must be included
2134 </td>
2135
2136 <td class="entry_notes">
2137 </td>
2138
2139 <td class="entry_tags">
2140 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002141 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002142 </ul>
2143 </td>
2144
2145 </tr> <!-- end of entry -->
2146
2147
2148 <tr class="entry" id="static_android.control.maxRegions">
2149 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2150 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002151 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002152
2153
2154
2155
2156 </td> <!-- entry_type -->
2157
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002158 <td class="entry_visibility">public</td>
2159
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002160 <td class="entry_description">
2161 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2162 regions can be listed for metering?
2163 </td>
2164
2165 <td class="entry_units">
2166 </td>
2167
2168 <td class="entry_range">
2169 >= 1
2170 </td>
2171
2172 <td class="entry_notes">
2173 </td>
2174
2175 <td class="entry_tags">
2176 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002177 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002178 </ul>
2179 </td>
2180
2181 </tr> <!-- end of entry -->
2182
2183
2184 <tr class="entry" id="static_android.control.sceneModeOverrides">
2185 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2186 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002187 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002188 <span class="entry_type_container">x</span>
2189
2190 <span class="entry_type_array">
2191 3 x lengthavailablescenemodes
2192 </span>
2193
2194
2195
2196 </td> <!-- entry_type -->
2197
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002198 <td class="entry_visibility">system</td>
2199
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002200 <td class="entry_description">
2201 List of AE,<wbr> AWB,<wbr> and AF modes to use for
2202 each available scene mode
2203 </td>
2204
2205 <td class="entry_units">
2206 </td>
2207
2208 <td class="entry_range">
2209 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2210 awbMode,<wbr> and afMode that the HAL wants to use for that
2211 scene mode.<wbr> For each entry,<wbr> the order is {aeMode,<wbr>
2212 awbMode,<wbr> afMode} in order of increasing index
2213 </td>
2214
2215 <td class="entry_notes">
2216 When a scene mode is enabled,<wbr> the HAL is expected
2217 to override aeMode,<wbr> awbMode,<wbr> and afMode with its
2218 preferred settings for that scene mode.<wbr> To simplify
2219 communication with old camera API applications,<wbr> the
2220 service wants this override list in the static metadata.<wbr>
2221 The order of this list matches that of
2222 availableSceneModes,<wbr> with 3 entires for each scene mode.<wbr>
2223 The overrides listed for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are
2224 ignored,<wbr> since for that mode,<wbr> the application-set aeMode,<wbr>
2225 awbMode,<wbr> and afMode are used instead,<wbr> like they are when
2226 android.<wbr>control.<wbr>mode is AUTO.<wbr> It is recommended that for
2227 FACE_<wbr>PRIORITY,<wbr> the overrides should be set to 0.<wbr> As an
2228 example,<wbr> if availableSceneModes is { FACE_<wbr>PRIORITY,<wbr>
2229 ACTION,<wbr> NIGHT },<wbr> then the service expects this field to
2230 have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2231 AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr> INCANDESCENT,<wbr>
2232 AUTO }
2233 </td>
2234
2235 <td class="entry_tags">
2236 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002237 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002238 </ul>
2239 </td>
2240
2241 </tr> <!-- end of entry -->
2242
2243
2244
2245 <!-- end of kind -->
2246 </tbody>
2247 <tr><td colspan="7" class="kind">dynamic</td></tr>
2248
2249 <thead>
2250 <tr>
2251 <th class="th_name">Property Name</th>
2252 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002253 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002254 <th class="th_description">Description</th>
2255 <th class="th_units">Units</th>
2256 <th class="th_range">Range</th>
2257 <th class="th_notes">Notes</th>
2258 <th class="th_tags">Tags</th>
2259 </tr>
2260 </thead>
2261
2262 <tbody>
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2274 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2275 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002276 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002277
2278
2279
2280
2281 </td> <!-- entry_type -->
2282
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002283 <td class="entry_visibility">hidden</td>
2284
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002285 <td class="entry_description">
2286 The ID sent with the latest
2287 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2288 </td>
2289
2290 <td class="entry_units">
2291 </td>
2292
2293 <td class="entry_range">
2294 </td>
2295
2296 <td class="entry_notes">
2297 Must be 0 if no
2298 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2299 by HAL.<wbr> Always updated even if AE algorithm ignores the
2300 trigger
2301 </td>
2302
2303 <td class="entry_tags">
2304 </td>
2305
2306 </tr> <!-- end of entry -->
2307
2308
2309 <tr class="entry" id="dynamic_android.control.aeRegions">
2310 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2311 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002312 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002313 <span class="entry_type_container">x</span>
2314
2315 <span class="entry_type_array">
2316 5 x area_count
2317 </span>
2318
2319
2320
2321 </td> <!-- entry_type -->
2322
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002323 <td class="entry_visibility">public</td>
2324
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002325 <td class="entry_description">
2326 List of areas to use for
2327 metering
2328 </td>
2329
2330 <td class="entry_units">
2331 </td>
2332
2333 <td class="entry_range">
2334 </td>
2335
2336 <td class="entry_notes">
2337 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2338 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2339 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2340 active pixel array,<wbr> and
2341 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2342 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2343 bottom-right point of the active pixel array.<wbr> The weight
2344 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2345 no specific metering area needs to be used by the HAL.<wbr> If
2346 the metering region is outside the current
2347 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2348 sections outside the region and output the used sections
2349 in the frame metadata
2350 </td>
2351
2352 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002353 <ul class="entry_tags">
2354 <li><a href="#tag_BC">BC</a></li>
2355 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002356 </td>
2357
2358 </tr> <!-- end of entry -->
2359
2360
2361 <tr class="entry" id="dynamic_android.control.aeState">
2362 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2363 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002364 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002365
2366
2367
2368 <ul class="entry_type_enum">
2369 <li>
2370 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002371 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2372 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002373 </li>
2374 <li>
2375 <span class="entry_type_enum_name">SEARCHING</span>
2376 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2377 for the current scene</span>
2378 </li>
2379 <li>
2380 <span class="entry_type_enum_name">CONVERGED</span>
2381 <span class="entry_type_enum_notes">AE has a good set of control values for the
2382 current scene</span>
2383 </li>
2384 <li>
2385 <span class="entry_type_enum_name">LOCKED</span>
2386 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2387 LOCKED)</span>
2388 </li>
2389 <li>
2390 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2391 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2392 needs to be fired for good quality still
2393 capture</span>
2394 </li>
2395 <li>
2396 <span class="entry_type_enum_name">PRECAPTURE</span>
2397 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2398 (through the
2399 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2400 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2401 completes,<wbr> AE will transition to CONVERGED or
2402 FLASH_<wbr>REQUIRED as appropriate</span>
2403 </li>
2404 </ul>
2405
2406 </td> <!-- entry_type -->
2407
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002408 <td class="entry_visibility">public</td>
2409
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002410 <td class="entry_description">
2411 Current state of AE algorithm
2412 </td>
2413
2414 <td class="entry_units">
2415 </td>
2416
2417 <td class="entry_range">
2418 </td>
2419
2420 <td class="entry_notes">
2421 Whenever the AE algorithm state changes,<wbr> a
2422 MSG_<wbr>AUTOEXPOSURE notification must be send if a
2423 notification callback is registered.<wbr>
2424 </td>
2425
2426 <td class="entry_tags">
2427 </td>
2428
2429 </tr> <!-- end of entry -->
2430
2431
2432 <tr class="entry" id="dynamic_android.control.afMode">
2433 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2434 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002435 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002436
2437
2438
2439 <ul class="entry_type_enum">
2440 <li>
2441 <span class="entry_type_enum_name">OFF</span>
2442 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
2443 android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
2444 application</span>
2445 </li>
2446 <li>
2447 <span class="entry_type_enum_name">AUTO</span>
2448 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
2449 android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2450 is fixed focus In this mode,<wbr> the lens does not move
2451 unless the autofocus trigger action is called.<wbr> When
2452 that trigger is activated,<wbr> AF must transition to
2453 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
2454 or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2455 position to default,<wbr> and sets the AF state to
2456 INACTIVE.<wbr></span>
2457 </li>
2458 <li>
2459 <span class="entry_type_enum_name">MACRO</span>
2460 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
2461 autofocus trigger action is called.<wbr> When that trigger
2462 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
2463 to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
2464 Triggering cancel AF resets the lens position to
2465 default,<wbr> and sets the AF state to
2466 INACTIVE.<wbr></span>
2467 </li>
2468 <li>
2469 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2470 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2471 position continually to attempt to provide a
2472 constantly-in-focus image stream.<wbr> The focusing behavior
2473 should be suitable for good quality video recording;
2474 typically this means slower focus movement and no
2475 overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
2476 algorithm should start in INACTIVE state,<wbr> and then
2477 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
2478 as appropriate.<wbr> When the AF trigger is activated,<wbr> the
2479 algorithm should immediately transition into AF_<wbr>FOCUSED
2480 or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
2481 position until a cancel AF trigger is received.<wbr> Once
2482 cancel is received,<wbr> the algorithm should transition
2483 back to INACTIVE and resume passive scan.<wbr> Note that
2484 this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
2485 since an ongoing PASSIVE_<wbr>SCAN must immediately be
2486 canceled.<wbr></span>
2487 </li>
2488 <li>
2489 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2490 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2491 position continually to attempt to provide a
2492 constantly-in-focus image stream.<wbr> The focusing behavior
2493 should be suitable for still image capture; typically
2494 this means focusing as fast as possible.<wbr> When the AF
2495 trigger is not involved,<wbr> the AF algorithm should start
2496 in INACTIVE state,<wbr> and then transition into
2497 PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
2498 as it attempts to maintain focus.<wbr> When the AF trigger
2499 is activated,<wbr> the algorithm should finish its
2500 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
2501 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
2502 the lens position until a cancel AF trigger is
2503 received.<wbr> When the AF cancel trigger is activated,<wbr> the
2504 algorithm should transition back to INACTIVE and then
2505 act as if it has just been started.<wbr></span>
2506 </li>
2507 <li>
2508 <span class="entry_type_enum_name">EDOF</span>
2509 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2510 trigger is ignored,<wbr> AF state should always be
2511 INACTIVE.<wbr></span>
2512 </li>
2513 </ul>
2514
2515 </td> <!-- entry_type -->
2516
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002517 <td class="entry_visibility">public</td>
2518
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002519 <td class="entry_description">
2520 Whether AF is currently enabled,<wbr> and what
2521 mode it is set to
2522 </td>
2523
2524 <td class="entry_units">
2525 </td>
2526
2527 <td class="entry_range">
2528 </td>
2529
2530 <td class="entry_notes">
2531 </td>
2532
2533 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002534 <ul class="entry_tags">
2535 <li><a href="#tag_BC">BC</a></li>
2536 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002537 </td>
2538
2539 </tr> <!-- end of entry -->
2540
2541
2542 <tr class="entry" id="dynamic_android.control.afRegions">
2543 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2544 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002545 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002546 <span class="entry_type_container">x</span>
2547
2548 <span class="entry_type_array">
2549 5 x area_count
2550 </span>
2551
2552
2553
2554 </td> <!-- entry_type -->
2555
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002556 <td class="entry_visibility">public</td>
2557
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002558 <td class="entry_description">
2559 List of areas to use for focus
2560 estimation
2561 </td>
2562
2563 <td class="entry_units">
2564 </td>
2565
2566 <td class="entry_range">
2567 </td>
2568
2569 <td class="entry_notes">
2570 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2571 xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2572 active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2573 active pixel array,<wbr> and
2574 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2575 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2576 bottom-right point of the active pixel array.<wbr> The weight
2577 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2578 no specific focus area needs to be used by the HAL.<wbr> If
2579 the focusing region is outside the current
2580 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2581 sections outside the region and output the used sections
2582 in the frame metadata
2583 </td>
2584
2585 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002586 <ul class="entry_tags">
2587 <li><a href="#tag_BC">BC</a></li>
2588 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002589 </td>
2590
2591 </tr> <!-- end of entry -->
2592
2593
2594 <tr class="entry" id="dynamic_android.control.afState">
2595 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2596 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002597 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002598
2599
2600
2601 <ul class="entry_type_enum">
2602 <li>
2603 <span class="entry_type_enum_name">INACTIVE</span>
2604 <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 -07002605 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2606 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002607 </li>
2608 <li>
2609 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2610 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2611 currently doing an AF scan initiated by a continuous
2612 autofocus mode</span>
2613 </li>
2614 <li>
2615 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2616 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2617 believes it is in focus,<wbr> but may restart scanning at
2618 any time.<wbr></span>
2619 </li>
2620 <li>
2621 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2622 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2623 an AF scan because it was triggered by AF
2624 trigger</span>
2625 </li>
2626 <li>
2627 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2628 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2629 believes it is focused correctly and is
2630 locked</span>
2631 </li>
2632 <li>
2633 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2634 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2635 failed to focus successfully and is
2636 locked</span>
2637 </li>
2638 </ul>
2639
2640 </td> <!-- entry_type -->
2641
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002642 <td class="entry_visibility">public</td>
2643
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002644 <td class="entry_description">
2645 Current state of AF algorithm
2646 </td>
2647
2648 <td class="entry_units">
2649 </td>
2650
2651 <td class="entry_range">
2652 </td>
2653
2654 <td class="entry_notes">
2655 Whenever the AF algorithm state changes,<wbr> a
2656 MSG_<wbr>AUTOFOCUS notification must be send if a notification
2657 callback is registered.<wbr>
2658 </td>
2659
2660 <td class="entry_tags">
2661 </td>
2662
2663 </tr> <!-- end of entry -->
2664
2665
2666 <tr class="entry" id="dynamic_android.control.afTriggerId">
2667 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
2668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002669 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002670
2671
2672
2673
2674 </td> <!-- entry_type -->
2675
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002676 <td class="entry_visibility">hidden</td>
2677
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002678 <td class="entry_description">
2679 The ID sent with the latest
2680 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
2681 </td>
2682
2683 <td class="entry_units">
2684 </td>
2685
2686 <td class="entry_range">
2687 </td>
2688
2689 <td class="entry_notes">
2690 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
2691 received yet by HAL.<wbr> Always updated even if AF algorithm
2692 ignores the trigger
2693 </td>
2694
2695 <td class="entry_tags">
2696 </td>
2697
2698 </tr> <!-- end of entry -->
2699
2700
2701 <tr class="entry" id="dynamic_android.control.awbMode">
2702 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
2703 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002704 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002705
2706
2707
2708 <ul class="entry_type_enum">
2709 <li>
2710 <span class="entry_type_enum_name">OFF</span>
2711 </li>
2712 <li>
2713 <span class="entry_type_enum_name">AUTO</span>
2714 </li>
2715 <li>
2716 <span class="entry_type_enum_name">INCANDESCENT</span>
2717 </li>
2718 <li>
2719 <span class="entry_type_enum_name">FLUORESCENT</span>
2720 </li>
2721 <li>
2722 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
2723 </li>
2724 <li>
2725 <span class="entry_type_enum_name">DAYLIGHT</span>
2726 </li>
2727 <li>
2728 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
2729 </li>
2730 <li>
2731 <span class="entry_type_enum_name">TWILIGHT</span>
2732 </li>
2733 <li>
2734 <span class="entry_type_enum_name">SHADE</span>
2735 </li>
2736 </ul>
2737
2738 </td> <!-- entry_type -->
2739
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002740 <td class="entry_visibility">public</td>
2741
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002742 <td class="entry_description">
2743 Whether AWB is currently setting the color
2744 transform fields,<wbr> and what its illumination target
2745 is
2746 </td>
2747
2748 <td class="entry_units">
2749 </td>
2750
2751 <td class="entry_range">
2752 </td>
2753
2754 <td class="entry_notes">
2755 [BC - AWB lock,<wbr>AWB modes]
2756 </td>
2757
2758 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002759 <ul class="entry_tags">
2760 <li><a href="#tag_BC">BC</a></li>
2761 <li><a href="#tag_AWB">AWB</a></li>
2762 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002763 </td>
2764
2765 </tr> <!-- end of entry -->
2766
2767
2768 <tr class="entry" id="dynamic_android.control.awbRegions">
2769 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
2770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002771 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002772 <span class="entry_type_container">x</span>
2773
2774 <span class="entry_type_array">
2775 5 x area_count
2776 </span>
2777
2778
2779
2780 </td> <!-- entry_type -->
2781
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002782 <td class="entry_visibility">public</td>
2783
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002784 <td class="entry_description">
2785 List of areas to use for illuminant
2786 estimation
2787 </td>
2788
2789 <td class="entry_units">
2790 </td>
2791
2792 <td class="entry_range">
2793 </td>
2794
2795 <td class="entry_notes">
2796 Only used in AUTO mode.<wbr> Each area is a rectangle
2797 plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
2798 coordinate system is based on the active pixel array,<wbr>
2799 with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
2800 and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2801 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2802 bottom-right point of the active pixel array.<wbr> The weight
2803 should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2804 no specific metering area needs to be used by the HAL.<wbr> If
2805 the metering region is outside the current
2806 android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2807 sections outside the region and output the used sections
2808 in the frame metadata
2809 </td>
2810
2811 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002812 <ul class="entry_tags">
2813 <li><a href="#tag_BC">BC</a></li>
2814 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002815 </td>
2816
2817 </tr> <!-- end of entry -->
2818
2819
2820 <tr class="entry" id="dynamic_android.control.awbState">
2821 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
2822 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002823 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002824
2825
2826
2827 <ul class="entry_type_enum">
2828 <li>
2829 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002830 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
2831 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002832 </li>
2833 <li>
2834 <span class="entry_type_enum_name">SEARCHING</span>
2835 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
2836 values for the current scene</span>
2837 </li>
2838 <li>
2839 <span class="entry_type_enum_name">CONVERGED</span>
2840 <span class="entry_type_enum_notes">AWB has a good set of control values for the
2841 current scene</span>
2842 </li>
2843 <li>
2844 <span class="entry_type_enum_name">LOCKED</span>
2845 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2846 LOCKED)</span>
2847 </li>
2848 </ul>
2849
2850 </td> <!-- entry_type -->
2851
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002852 <td class="entry_visibility">public</td>
2853
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002854 <td class="entry_description">
2855 Current state of AWB algorithm
2856 </td>
2857
2858 <td class="entry_units">
2859 </td>
2860
2861 <td class="entry_range">
2862 </td>
2863
2864 <td class="entry_notes">
2865 Whenever the AWB algorithm state changes,<wbr> a
2866 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
2867 notification callback is registered.<wbr>
2868 </td>
2869
2870 <td class="entry_tags">
2871 </td>
2872
2873 </tr> <!-- end of entry -->
2874
2875
2876 <tr class="entry" id="dynamic_android.control.mode">
2877 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
2878 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002879 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002880
2881
2882
2883 <ul class="entry_type_enum">
2884 <li>
2885 <span class="entry_type_enum_name">OFF</span>
2886 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
2887 routines are disabled,<wbr> no other settings in
2888 android.<wbr>control.<wbr>* have any effect</span>
2889 </li>
2890 <li>
2891 <span class="entry_type_enum_name">AUTO</span>
2892 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
2893 Manual control of capture parameters is disabled.<wbr> All
2894 controls in android.<wbr>control.<wbr>* besides sceneMode take
2895 effect</span>
2896 </li>
2897 <li>
2898 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
2899 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
2900 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
2901 controls; the HAL must ignore those settings while
2902 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
2903 scene mode).<wbr> Other control entries are still active.<wbr>
2904 This setting can only be used if availableSceneModes !=
2905 UNSUPPORTED</span>
2906 </li>
2907 </ul>
2908
2909 </td> <!-- entry_type -->
2910
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002911 <td class="entry_visibility">public</td>
2912
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002913 <td class="entry_description">
2914 Overall mode of 3A control
2915 routines
2916 </td>
2917
2918 <td class="entry_units">
2919 </td>
2920
2921 <td class="entry_range">
2922 all must be supported
2923 </td>
2924
2925 <td class="entry_notes">
2926 </td>
2927
2928 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002929 <ul class="entry_tags">
2930 <li><a href="#tag_BC">BC</a></li>
2931 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002932 </td>
2933
2934 </tr> <!-- end of entry -->
2935
2936
2937
2938 <!-- end of kind -->
2939 </tbody>
2940
2941 <!-- end of section -->
2942 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
2943
2944
2945 <tr><td colspan="7" class="kind">controls</td></tr>
2946
2947 <thead>
2948 <tr>
2949 <th class="th_name">Property Name</th>
2950 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002951 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952 <th class="th_description">Description</th>
2953 <th class="th_units">Units</th>
2954 <th class="th_range">Range</th>
2955 <th class="th_notes">Notes</th>
2956 <th class="th_tags">Tags</th>
2957 </tr>
2958 </thead>
2959
2960 <tbody>
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971 <tr class="entry" id="controls_android.demosaic.mode">
2972 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
2973 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002974 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002975
2976
2977
2978 <ul class="entry_type_enum">
2979 <li>
2980 <span class="entry_type_enum_name">FAST</span>
2981 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
2982 Bayer RAW output</span>
2983 </li>
2984 <li>
2985 <span class="entry_type_enum_name">HIGH_QUALITY</span>
2986 <span class="entry_type_enum_notes">High-quality may reduce output frame
2987 rate</span>
2988 </li>
2989 </ul>
2990
2991 </td> <!-- entry_type -->
2992
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07002993 <td class="entry_visibility">system</td>
2994
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002995 <td class="entry_description">
2996 Controls the quality of the demosaicing
2997 processing
2998 </td>
2999
3000 <td class="entry_units">
3001 </td>
3002
3003 <td class="entry_range">
3004 </td>
3005
3006 <td class="entry_notes">
3007 </td>
3008
3009 <td class="entry_tags">
3010 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003011 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003012 </ul>
3013 </td>
3014
3015 </tr> <!-- end of entry -->
3016
3017
3018
3019 <!-- end of kind -->
3020 </tbody>
3021
3022 <!-- end of section -->
3023 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3024
3025
3026 <tr><td colspan="7" class="kind">controls</td></tr>
3027
3028 <thead>
3029 <tr>
3030 <th class="th_name">Property Name</th>
3031 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003032 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003033 <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="controls_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
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003078 <td class="entry_visibility">public</td>
3079
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003080 <td class="entry_description">
3081 Operation mode for edge
3082 enhancement
3083 </td>
3084
3085 <td class="entry_units">
3086 </td>
3087
3088 <td class="entry_range">
3089 </td>
3090
3091 <td class="entry_notes">
3092 </td>
3093
3094 <td class="entry_tags">
3095 </td>
3096
3097 </tr> <!-- end of entry -->
3098
3099
3100 <tr class="entry" id="controls_android.edge.strength">
3101 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3102 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003103 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003104
3105
3106
3107
3108 </td> <!-- entry_type -->
3109
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003110 <td class="entry_visibility">system</td>
3111
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003112 <td class="entry_description">
3113 Control the amount of edge enhancement
3114 applied to the images
3115 </td>
3116
3117 <td class="entry_units">
3118 1-10; 10 is maximum sharpening
3119 </td>
3120
3121 <td class="entry_range">
3122 </td>
3123
3124 <td class="entry_notes">
3125 </td>
3126
3127 <td class="entry_tags">
3128 </td>
3129
3130 </tr> <!-- end of entry -->
3131
3132
3133
3134 <!-- end of kind -->
3135 </tbody>
3136 <tr><td colspan="7" class="kind">dynamic</td></tr>
3137
3138 <thead>
3139 <tr>
3140 <th class="th_name">Property Name</th>
3141 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003142 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003143 <th class="th_description">Description</th>
3144 <th class="th_units">Units</th>
3145 <th class="th_range">Range</th>
3146 <th class="th_notes">Notes</th>
3147 <th class="th_tags">Tags</th>
3148 </tr>
3149 </thead>
3150
3151 <tbody>
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162 <tr class="entry" id="dynamic_android.edge.mode">
3163 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3164 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003165 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003166
3167
3168
3169 <ul class="entry_type_enum">
3170 <li>
3171 <span class="entry_type_enum_name">OFF</span>
3172 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3173 </li>
3174 <li>
3175 <span class="entry_type_enum_name">FAST</span>
3176 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3177 bayer output</span>
3178 </li>
3179 <li>
3180 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3181 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3182 quality</span>
3183 </li>
3184 </ul>
3185
3186 </td> <!-- entry_type -->
3187
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003188 <td class="entry_visibility">public</td>
3189
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003190 <td class="entry_description">
3191 Operation mode for edge
3192 enhancement
3193 </td>
3194
3195 <td class="entry_units">
3196 </td>
3197
3198 <td class="entry_range">
3199 </td>
3200
3201 <td class="entry_notes">
3202 </td>
3203
3204 <td class="entry_tags">
3205 </td>
3206
3207 </tr> <!-- end of entry -->
3208
3209
3210
3211 <!-- end of kind -->
3212 </tbody>
3213
3214 <!-- end of section -->
3215 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3216
3217
3218 <tr><td colspan="7" class="kind">controls</td></tr>
3219
3220 <thead>
3221 <tr>
3222 <th class="th_name">Property Name</th>
3223 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003224 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003225 <th class="th_description">Description</th>
3226 <th class="th_units">Units</th>
3227 <th class="th_range">Range</th>
3228 <th class="th_notes">Notes</th>
3229 <th class="th_tags">Tags</th>
3230 </tr>
3231 </thead>
3232
3233 <tbody>
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244 <tr class="entry" id="controls_android.flash.firingPower">
3245 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3246 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003247 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003248
3249
3250
3251
3252 </td> <!-- entry_type -->
3253
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003254 <td class="entry_visibility">system</td>
3255
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003256 <td class="entry_description">
3257 Power for flash firing/<wbr>torch
3258 </td>
3259
3260 <td class="entry_units">
3261 10 is max power; 0 is no flash.<wbr> Linear
3262 </td>
3263
3264 <td class="entry_range">
3265 0 - 10
3266 </td>
3267
3268 <td class="entry_notes">
3269 Power for snapshot may use a different scale than
3270 for torch mode.<wbr> Only one entry for torch mode will be
3271 used
3272 </td>
3273
3274 <td class="entry_tags">
3275 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003276 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003277 </ul>
3278 </td>
3279
3280 </tr> <!-- end of entry -->
3281
3282
3283 <tr class="entry" id="controls_android.flash.firingTime">
3284 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3285 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003286 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003287
3288
3289
3290
3291 </td> <!-- entry_type -->
3292
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003293 <td class="entry_visibility">system</td>
3294
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003295 <td class="entry_description">
3296 Firing time of flash relative to start of
3297 exposure
3298 </td>
3299
3300 <td class="entry_units">
3301 nanoseconds
3302 </td>
3303
3304 <td class="entry_range">
3305 0-(exposure time-flash duration)
3306 </td>
3307
3308 <td class="entry_notes">
3309 Clamped to (0,<wbr> exposure time - flash
3310 duration).<wbr>
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_V1">V1</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="controls_android.flash.mode">
3323 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3324 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003325 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003326
3327
3328
3329 <ul class="entry_type_enum">
3330 <li>
3331 <span class="entry_type_enum_name">OFF</span>
3332 <span class="entry_type_enum_notes">Do not fire the flash for this
3333 capture</span>
3334 </li>
3335 <li>
3336 <span class="entry_type_enum_name">SINGLE</span>
3337 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3338 for this capture based on firingPower,<wbr>
3339 firingTime.<wbr></span>
3340 </li>
3341 <li>
3342 <span class="entry_type_enum_name">TORCH</span>
3343 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3344 continuously on,<wbr> power set by
3345 firingPower</span>
3346 </li>
3347 </ul>
3348
3349 </td> <!-- entry_type -->
3350
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003351 <td class="entry_visibility">public</td>
3352
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003353 <td class="entry_description">
3354 Select flash operation mode
3355 </td>
3356
3357 <td class="entry_units">
3358 </td>
3359
3360 <td class="entry_range">
3361 </td>
3362
3363 <td class="entry_notes">
3364 </td>
3365
3366 <td class="entry_tags">
3367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003368 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003369 </ul>
3370 </td>
3371
3372 </tr> <!-- end of entry -->
3373
3374
3375
3376 <!-- end of kind -->
3377 </tbody>
3378 <tr><td colspan="7" class="kind">static</td></tr>
3379
3380 <thead>
3381 <tr>
3382 <th class="th_name">Property Name</th>
3383 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003384 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003385 <th class="th_description">Description</th>
3386 <th class="th_units">Units</th>
3387 <th class="th_range">Range</th>
3388 <th class="th_notes">Notes</th>
3389 <th class="th_tags">Tags</th>
3390 </tr>
3391 </thead>
3392
3393 <tbody>
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406 <tr class="entry" id="static_android.flash.info.available">
3407 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3408 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003409 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003410
3411
3412
3413
3414 </td> <!-- entry_type -->
3415
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003416 <td class="entry_visibility">public</td>
3417
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003418 <td class="entry_description">
3419 Whether this camera has a
3420 flash
3421 </td>
3422
3423 <td class="entry_units">
3424 boolean (0 = false,<wbr> otherwise true)
3425 </td>
3426
3427 <td class="entry_range">
3428 </td>
3429
3430 <td class="entry_notes">
3431 If no flash,<wbr> none of the flash controls do
3432 anything.<wbr> All other metadata should return 0
3433 </td>
3434
3435 <td class="entry_tags">
3436 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003437 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003438 </ul>
3439 </td>
3440
3441 </tr> <!-- end of entry -->
3442
3443
3444 <tr class="entry" id="static_android.flash.info.chargeDuration">
3445 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3446 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003447 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003448
3449
3450
3451
3452 </td> <!-- entry_type -->
3453
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003454 <td class="entry_visibility">system</td>
3455
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003456 <td class="entry_description">
3457 Time taken before flash can fire
3458 again
3459 </td>
3460
3461 <td class="entry_units">
3462 nanoseconds
3463 </td>
3464
3465 <td class="entry_range">
3466 0-1e9
3467 </td>
3468
3469 <td class="entry_notes">
3470 1 second too long/<wbr>too short for recharge? Should
3471 this be power-dependent?
3472 </td>
3473
3474 <td class="entry_tags">
3475 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003476 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003477 </ul>
3478 </td>
3479
3480 </tr> <!-- end of entry -->
3481
3482
3483
3484
3485
3486 <tr class="entry" id="static_android.flash.colorTemperature">
3487 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3488 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003489 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003490
3491
3492
3493
3494 </td> <!-- entry_type -->
3495
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003496 <td class="entry_visibility">system</td>
3497
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003498 <td class="entry_description">
3499 The x,<wbr>y whitepoint of the
3500 flash
3501 </td>
3502
3503 <td class="entry_units">
3504 pair of floats
3505 </td>
3506
3507 <td class="entry_range">
3508 0-1 for both
3509 </td>
3510
3511 <td class="entry_notes">
3512 </td>
3513
3514 <td class="entry_tags">
3515 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003516 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003517 </ul>
3518 </td>
3519
3520 </tr> <!-- end of entry -->
3521
3522
3523 <tr class="entry" id="static_android.flash.maxEnergy">
3524 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3525 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003526 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003527
3528
3529
3530
3531 </td> <!-- entry_type -->
3532
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003533 <td class="entry_visibility">system</td>
3534
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003535 <td class="entry_description">
3536 Max energy output of the flash for a full
3537 power single flash
3538 </td>
3539
3540 <td class="entry_units">
3541 lumen-seconds
3542 </td>
3543
3544 <td class="entry_range">
3545 >= 0
3546 </td>
3547
3548 <td class="entry_notes">
3549 </td>
3550
3551 <td class="entry_tags">
3552 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003553 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003554 </ul>
3555 </td>
3556
3557 </tr> <!-- end of entry -->
3558
3559
3560
3561 <!-- end of kind -->
3562 </tbody>
3563 <tr><td colspan="7" class="kind">dynamic</td></tr>
3564
3565 <thead>
3566 <tr>
3567 <th class="th_name">Property Name</th>
3568 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003569 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003570 <th class="th_description">Description</th>
3571 <th class="th_units">Units</th>
3572 <th class="th_range">Range</th>
3573 <th class="th_notes">Notes</th>
3574 <th class="th_tags">Tags</th>
3575 </tr>
3576 </thead>
3577
3578 <tbody>
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589 <tr class="entry" id="dynamic_android.flash.firingPower">
3590 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3591 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003592 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003593
3594
3595
3596
3597 </td> <!-- entry_type -->
3598
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003599 <td class="entry_visibility">system</td>
3600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003601 <td class="entry_description">
3602 Power for flash firing/<wbr>torch
3603 </td>
3604
3605 <td class="entry_units">
3606 10 is max power; 0 is no flash.<wbr> Linear
3607 </td>
3608
3609 <td class="entry_range">
3610 0 - 10
3611 </td>
3612
3613 <td class="entry_notes">
3614 Power for snapshot may use a different scale than
3615 for torch mode.<wbr> Only one entry for torch mode will be
3616 used
3617 </td>
3618
3619 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003620 <ul class="entry_tags">
3621 <li><a href="#tag_V1">V1</a></li>
3622 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003623 </td>
3624
3625 </tr> <!-- end of entry -->
3626
3627
3628 <tr class="entry" id="dynamic_android.flash.firingTime">
3629 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3630 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003631 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003632
3633
3634
3635
3636 </td> <!-- entry_type -->
3637
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003638 <td class="entry_visibility">system</td>
3639
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003640 <td class="entry_description">
3641 Firing time of flash relative to start of
3642 exposure
3643 </td>
3644
3645 <td class="entry_units">
3646 nanoseconds
3647 </td>
3648
3649 <td class="entry_range">
3650 0-(exposure time-flash duration)
3651 </td>
3652
3653 <td class="entry_notes">
3654 Clamped to (0,<wbr> exposure time - flash
3655 duration).<wbr>
3656 </td>
3657
3658 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003659 <ul class="entry_tags">
3660 <li><a href="#tag_V1">V1</a></li>
3661 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003662 </td>
3663
3664 </tr> <!-- end of entry -->
3665
3666
3667 <tr class="entry" id="dynamic_android.flash.mode">
3668 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003670 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003671
3672
3673
3674 <ul class="entry_type_enum">
3675 <li>
3676 <span class="entry_type_enum_name">OFF</span>
3677 <span class="entry_type_enum_notes">Do not fire the flash for this
3678 capture</span>
3679 </li>
3680 <li>
3681 <span class="entry_type_enum_name">SINGLE</span>
3682 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3683 for this capture based on firingPower,<wbr>
3684 firingTime.<wbr></span>
3685 </li>
3686 <li>
3687 <span class="entry_type_enum_name">TORCH</span>
3688 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3689 continuously on,<wbr> power set by
3690 firingPower</span>
3691 </li>
3692 </ul>
3693
3694 </td> <!-- entry_type -->
3695
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003696 <td class="entry_visibility">public</td>
3697
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003698 <td class="entry_description">
3699 Select flash operation mode
3700 </td>
3701
3702 <td class="entry_units">
3703 </td>
3704
3705 <td class="entry_range">
3706 </td>
3707
3708 <td class="entry_notes">
3709 </td>
3710
3711 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003712 <ul class="entry_tags">
3713 <li><a href="#tag_BC">BC</a></li>
3714 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003715 </td>
3716
3717 </tr> <!-- end of entry -->
3718
3719
3720 <tr class="entry" id="dynamic_android.flash.state">
3721 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
3722 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003723 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003724
3725
3726
3727 <ul class="entry_type_enum">
3728 <li>
3729 <span class="entry_type_enum_name">UNAVAILABLE</span>
3730 <span class="entry_type_enum_notes">No flash on camera</span>
3731 </li>
3732 <li>
3733 <span class="entry_type_enum_name">CHARGING</span>
3734 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3735 charging and cannot be fired</span>
3736 </li>
3737 <li>
3738 <span class="entry_type_enum_name">READY</span>
3739 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3740 ready to fire</span>
3741 </li>
3742 <li>
3743 <span class="entry_type_enum_name">FIRED</span>
3744 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
3745 for this capture</span>
3746 </li>
3747 </ul>
3748
3749 </td> <!-- entry_type -->
3750
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003751 <td class="entry_visibility">public</td>
3752
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003753 <td class="entry_description">
3754 Current state of the flash
3755 unit
3756 </td>
3757
3758 <td class="entry_units">
3759 </td>
3760
3761 <td class="entry_range">
3762 </td>
3763
3764 <td class="entry_notes">
3765 </td>
3766
3767 <td class="entry_tags">
3768 </td>
3769
3770 </tr> <!-- end of entry -->
3771
3772
3773
3774 <!-- end of kind -->
3775 </tbody>
3776
3777 <!-- end of section -->
3778 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
3779
3780
3781 <tr><td colspan="7" class="kind">controls</td></tr>
3782
3783 <thead>
3784 <tr>
3785 <th class="th_name">Property Name</th>
3786 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003787 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003788 <th class="th_description">Description</th>
3789 <th class="th_units">Units</th>
3790 <th class="th_range">Range</th>
3791 <th class="th_notes">Notes</th>
3792 <th class="th_tags">Tags</th>
3793 </tr>
3794 </thead>
3795
3796 <tbody>
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807 <tr class="entry" id="controls_android.geometric.mode">
3808 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
3809 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003810 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003811
3812
3813
3814 <ul class="entry_type_enum">
3815 <li>
3816 <span class="entry_type_enum_name">OFF</span>
3817 <span class="entry_type_enum_notes">No geometric correction is
3818 applied</span>
3819 </li>
3820 <li>
3821 <span class="entry_type_enum_name">FAST</span>
3822 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3823 bayer output</span>
3824 </li>
3825 <li>
3826 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3827 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3828 quality</span>
3829 </li>
3830 </ul>
3831
3832 </td> <!-- entry_type -->
3833
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003834 <td class="entry_visibility">system</td>
3835
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003836 <td class="entry_description">
3837 Operating mode of geometric
3838 correction
3839 </td>
3840
3841 <td class="entry_units">
3842 </td>
3843
3844 <td class="entry_range">
3845 </td>
3846
3847 <td class="entry_notes">
3848 </td>
3849
3850 <td class="entry_tags">
3851 </td>
3852
3853 </tr> <!-- end of entry -->
3854
3855
3856 <tr class="entry" id="controls_android.geometric.strength">
3857 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
3858 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003859 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003860
3861
3862
3863
3864 </td> <!-- entry_type -->
3865
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003866 <td class="entry_visibility">system</td>
3867
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003868 <td class="entry_description">
3869 Control the amount of shading correction
3870 applied to the images
3871 </td>
3872
3873 <td class="entry_units">
3874 unitless: 1-10; 10 is full shading
3875 compensation
3876 </td>
3877
3878 <td class="entry_range">
3879 </td>
3880
3881 <td class="entry_notes">
3882 </td>
3883
3884 <td class="entry_tags">
3885 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003886 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003887 </ul>
3888 </td>
3889
3890 </tr> <!-- end of entry -->
3891
3892
3893
3894 <!-- end of kind -->
3895 </tbody>
3896
3897 <!-- end of section -->
3898 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
3899
3900
3901 <tr><td colspan="7" class="kind">controls</td></tr>
3902
3903 <thead>
3904 <tr>
3905 <th class="th_name">Property Name</th>
3906 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003907 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003908 <th class="th_description">Description</th>
3909 <th class="th_units">Units</th>
3910 <th class="th_range">Range</th>
3911 <th class="th_notes">Notes</th>
3912 <th class="th_tags">Tags</th>
3913 </tr>
3914 </thead>
3915
3916 <tbody>
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927 <tr class="entry" id="controls_android.hotPixel.mode">
3928 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3929 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003930 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003931
3932
3933
3934 <ul class="entry_type_enum">
3935 <li>
3936 <span class="entry_type_enum_name">OFF</span>
3937 <span class="entry_type_enum_notes">No hot pixel correction can be
3938 applied</span>
3939 </li>
3940 <li>
3941 <span class="entry_type_enum_name">FAST</span>
3942 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3943 Bayer output</span>
3944 </li>
3945 <li>
3946 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3947 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3948 quality</span>
3949 </li>
3950 </ul>
3951
3952 </td> <!-- entry_type -->
3953
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003954 <td class="entry_visibility">system</td>
3955
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003956 <td class="entry_description">
3957 Set operational mode for hot pixel
3958 correction
3959 </td>
3960
3961 <td class="entry_units">
3962 </td>
3963
3964 <td class="entry_range">
3965 </td>
3966
3967 <td class="entry_notes">
3968 </td>
3969
3970 <td class="entry_tags">
3971 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003972 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003973 </ul>
3974 </td>
3975
3976 </tr> <!-- end of entry -->
3977
3978
3979
3980 <!-- end of kind -->
3981 </tbody>
3982 <tr><td colspan="7" class="kind">static</td></tr>
3983
3984 <thead>
3985 <tr>
3986 <th class="th_name">Property Name</th>
3987 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07003988 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003989 <th class="th_description">Description</th>
3990 <th class="th_units">Units</th>
3991 <th class="th_range">Range</th>
3992 <th class="th_notes">Notes</th>
3993 <th class="th_tags">Tags</th>
3994 </tr>
3995 </thead>
3996
3997 <tbody>
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010 <tr class="entry" id="static_android.hotPixel.info.map">
4011 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004013 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004014 <span class="entry_type_container">x</span>
4015
4016 <span class="entry_type_array">
4017 2 x n
4018 </span>
4019
4020 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4021
4022
4023 </td> <!-- entry_type -->
4024
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004025 <td class="entry_visibility">system</td>
4026
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004027 <td class="entry_description">
4028 Location of hot/<wbr>defective pixels on
4029 sensor
4030 </td>
4031
4032 <td class="entry_units">
4033 </td>
4034
4035 <td class="entry_range">
4036 </td>
4037
4038 <td class="entry_notes">
4039 </td>
4040
4041 <td class="entry_tags">
4042 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004043 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004044 </ul>
4045 </td>
4046
4047 </tr> <!-- end of entry -->
4048
4049
4050
4051
4052
4053
4054 <!-- end of kind -->
4055 </tbody>
4056 <tr><td colspan="7" class="kind">dynamic</td></tr>
4057
4058 <thead>
4059 <tr>
4060 <th class="th_name">Property Name</th>
4061 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004062 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004063 <th class="th_description">Description</th>
4064 <th class="th_units">Units</th>
4065 <th class="th_range">Range</th>
4066 <th class="th_notes">Notes</th>
4067 <th class="th_tags">Tags</th>
4068 </tr>
4069 </thead>
4070
4071 <tbody>
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082 <tr class="entry" id="dynamic_android.hotPixel.mode">
4083 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4084 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004085 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004086
4087
4088
4089 <ul class="entry_type_enum">
4090 <li>
4091 <span class="entry_type_enum_name">OFF</span>
4092 <span class="entry_type_enum_notes">No hot pixel correction can be
4093 applied</span>
4094 </li>
4095 <li>
4096 <span class="entry_type_enum_name">FAST</span>
4097 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4098 Bayer output</span>
4099 </li>
4100 <li>
4101 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4102 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4103 quality</span>
4104 </li>
4105 </ul>
4106
4107 </td> <!-- entry_type -->
4108
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004109 <td class="entry_visibility">system</td>
4110
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004111 <td class="entry_description">
4112 Set operational mode for hot pixel
4113 correction
4114 </td>
4115
4116 <td class="entry_units">
4117 </td>
4118
4119 <td class="entry_range">
4120 </td>
4121
4122 <td class="entry_notes">
4123 </td>
4124
4125 <td class="entry_tags">
4126 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004127 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004128 </ul>
4129 </td>
4130
4131 </tr> <!-- end of entry -->
4132
4133
4134
4135 <!-- end of kind -->
4136 </tbody>
4137
4138 <!-- end of section -->
4139 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4140
4141
4142 <tr><td colspan="7" class="kind">controls</td></tr>
4143
4144 <thead>
4145 <tr>
4146 <th class="th_name">Property Name</th>
4147 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004148 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004149 <th class="th_description">Description</th>
4150 <th class="th_units">Units</th>
4151 <th class="th_range">Range</th>
4152 <th class="th_notes">Notes</th>
4153 <th class="th_tags">Tags</th>
4154 </tr>
4155 </thead>
4156
4157 <tbody>
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4169 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4170 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004171 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004172 <span class="entry_type_container">x</span>
4173
4174 <span class="entry_type_array">
4175 3
4176 </span>
4177
4178 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4179
4180
4181 </td> <!-- entry_type -->
4182
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004183 <td class="entry_visibility">public</td>
4184
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004185 <td class="entry_description">
4186 GPS coordinates to include in output JPEG
4187 EXIF
4188 </td>
4189
4190 <td class="entry_units">
4191 </td>
4192
4193 <td class="entry_range">
4194 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4195 </td>
4196
4197 <td class="entry_notes">
4198 </td>
4199
4200 <td class="entry_tags">
4201 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004202 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004203 </ul>
4204 </td>
4205
4206 </tr> <!-- end of entry -->
4207
4208
4209 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4210 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4211 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004212 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004213
4214
4215
4216
4217 </td> <!-- entry_type -->
4218
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004219 <td class="entry_visibility">public</td>
4220
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004221 <td class="entry_description">
4222 32 characters describing GPS algorithm to
4223 include in EXIF
4224 </td>
4225
4226 <td class="entry_units">
4227 UTF-8 null-terminated string
4228 </td>
4229
4230 <td class="entry_range">
4231 </td>
4232
4233 <td class="entry_notes">
4234 </td>
4235
4236 <td class="entry_tags">
4237 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004238 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004239 </ul>
4240 </td>
4241
4242 </tr> <!-- end of entry -->
4243
4244
4245 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4246 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4247 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004248 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004249
4250
4251
4252
4253 </td> <!-- entry_type -->
4254
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004255 <td class="entry_visibility">public</td>
4256
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004257 <td class="entry_description">
4258 Time GPS fix was made to include in
4259 EXIF
4260 </td>
4261
4262 <td class="entry_units">
4263 UTC in seconds since January 1,<wbr> 1970
4264 </td>
4265
4266 <td class="entry_range">
4267 </td>
4268
4269 <td class="entry_notes">
4270 </td>
4271
4272 <td class="entry_tags">
4273 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004274 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004275 </ul>
4276 </td>
4277
4278 </tr> <!-- end of entry -->
4279
4280
4281 <tr class="entry" id="controls_android.jpeg.orientation">
4282 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4283 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004284 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004285
4286
4287
4288
4289 </td> <!-- entry_type -->
4290
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004291 <td class="entry_visibility">public</td>
4292
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004293 <td class="entry_description">
4294 Orientation of JPEG image to
4295 write
4296 </td>
4297
4298 <td class="entry_units">
4299 Degrees in multiples of 90
4300 </td>
4301
4302 <td class="entry_range">
4303 0,<wbr> 90,<wbr> 180,<wbr> 270
4304 </td>
4305
4306 <td class="entry_notes">
4307 </td>
4308
4309 <td class="entry_tags">
4310 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004311 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004312 </ul>
4313 </td>
4314
4315 </tr> <!-- end of entry -->
4316
4317
4318 <tr class="entry" id="controls_android.jpeg.quality">
4319 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4320 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004321 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004322
4323
4324
4325
4326 </td> <!-- entry_type -->
4327
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004328 <td class="entry_visibility">public</td>
4329
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004330 <td class="entry_description">
4331 Compression quality of the final JPEG
4332 image
4333 </td>
4334
4335 <td class="entry_units">
4336 </td>
4337
4338 <td class="entry_range">
4339 1-100; larger is higher quality
4340 </td>
4341
4342 <td class="entry_notes">
4343 85-95 is typical usage range
4344 </td>
4345
4346 <td class="entry_tags">
4347 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004348 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004349 </ul>
4350 </td>
4351
4352 </tr> <!-- end of entry -->
4353
4354
4355 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4356 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4357 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004358 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004359
4360
4361
4362
4363 </td> <!-- entry_type -->
4364
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004365 <td class="entry_visibility">public</td>
4366
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004367 <td class="entry_description">
4368 Compression quality of JPEG
4369 thumbnail
4370 </td>
4371
4372 <td class="entry_units">
4373 </td>
4374
4375 <td class="entry_range">
4376 1-100; larger is higher quality
4377 </td>
4378
4379 <td class="entry_notes">
4380 </td>
4381
4382 <td class="entry_tags">
4383 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004384 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004385 </ul>
4386 </td>
4387
4388 </tr> <!-- end of entry -->
4389
4390
4391 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4392 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4393 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004394 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004395 <span class="entry_type_container">x</span>
4396
4397 <span class="entry_type_array">
4398 2
4399 </span>
4400
4401
4402
4403 </td> <!-- entry_type -->
4404
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004405 <td class="entry_visibility">public</td>
4406
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004407 <td class="entry_description">
4408 Resolution of embedded JPEG
4409 thumbnail
4410 </td>
4411
4412 <td class="entry_units">
4413 </td>
4414
4415 <td class="entry_range">
4416 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4417 </td>
4418
4419 <td class="entry_notes">
4420 </td>
4421
4422 <td class="entry_tags">
4423 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004424 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004425 </ul>
4426 </td>
4427
4428 </tr> <!-- end of entry -->
4429
4430
4431
4432 <!-- end of kind -->
4433 </tbody>
4434 <tr><td colspan="7" class="kind">static</td></tr>
4435
4436 <thead>
4437 <tr>
4438 <th class="th_name">Property Name</th>
4439 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004440 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004441 <th class="th_description">Description</th>
4442 <th class="th_units">Units</th>
4443 <th class="th_range">Range</th>
4444 <th class="th_notes">Notes</th>
4445 <th class="th_tags">Tags</th>
4446 </tr>
4447 </thead>
4448
4449 <tbody>
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4461 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4462 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004463 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004464 <span class="entry_type_container">x</span>
4465
4466 <span class="entry_type_array">
4467 2 x n
4468 </span>
4469
4470 <div class="entry_type_notes">list of resolution pairs</div>
4471
4472
4473 </td> <!-- entry_type -->
4474
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004475 <td class="entry_visibility">public</td>
4476
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004477 <td class="entry_description">
4478 Supported resolutions for the JPEG
4479 thumbnail
4480 </td>
4481
4482 <td class="entry_units">
4483 </td>
4484
4485 <td class="entry_range">
4486 Must include at least one valid resolution,<wbr> plus
4487 (0,<wbr>0) for no thumbnail generation
4488 </td>
4489
4490 <td class="entry_notes">
4491 </td>
4492
4493 <td class="entry_tags">
4494 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004495 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004496 </ul>
4497 </td>
4498
4499 </tr> <!-- end of entry -->
4500
4501
4502 <tr class="entry" id="static_android.jpeg.maxSize">
4503 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</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
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004512 <td class="entry_visibility">system</td>
4513
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004514 <td class="entry_description">
4515 Maximum size in bytes for the compressed
4516 JPEG buffer
4517 </td>
4518
4519 <td class="entry_units">
4520 </td>
4521
4522 <td class="entry_range">
4523 Must be large enough to fit any JPEG produced by
4524 the camera
4525 </td>
4526
4527 <td class="entry_notes">
4528 This is used for sizing the gralloc buffers for
4529 JPEG
4530 </td>
4531
4532 <td class="entry_tags">
4533 </td>
4534
4535 </tr> <!-- end of entry -->
4536
4537
4538
4539 <!-- end of kind -->
4540 </tbody>
4541 <tr><td colspan="7" class="kind">dynamic</td></tr>
4542
4543 <thead>
4544 <tr>
4545 <th class="th_name">Property Name</th>
4546 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004547 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004548 <th class="th_description">Description</th>
4549 <th class="th_units">Units</th>
4550 <th class="th_range">Range</th>
4551 <th class="th_notes">Notes</th>
4552 <th class="th_tags">Tags</th>
4553 </tr>
4554 </thead>
4555
4556 <tbody>
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4568 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4569 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004570 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004571 <span class="entry_type_container">x</span>
4572
4573 <span class="entry_type_array">
4574 3
4575 </span>
4576
4577 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4578
4579
4580 </td> <!-- entry_type -->
4581
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004582 <td class="entry_visibility">public</td>
4583
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004584 <td class="entry_description">
4585 GPS coordinates to include in output JPEG
4586 EXIF
4587 </td>
4588
4589 <td class="entry_units">
4590 </td>
4591
4592 <td class="entry_range">
4593 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4594 </td>
4595
4596 <td class="entry_notes">
4597 </td>
4598
4599 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004600 <ul class="entry_tags">
4601 <li><a href="#tag_BC">BC</a></li>
4602 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004603 </td>
4604
4605 </tr> <!-- end of entry -->
4606
4607
4608 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4609 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4610 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004611 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004612
4613
4614
4615
4616 </td> <!-- entry_type -->
4617
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004618 <td class="entry_visibility">public</td>
4619
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004620 <td class="entry_description">
4621 32 characters describing GPS algorithm to
4622 include in EXIF
4623 </td>
4624
4625 <td class="entry_units">
4626 UTF-8 null-terminated string
4627 </td>
4628
4629 <td class="entry_range">
4630 </td>
4631
4632 <td class="entry_notes">
4633 </td>
4634
4635 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004636 <ul class="entry_tags">
4637 <li><a href="#tag_BC">BC</a></li>
4638 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004639 </td>
4640
4641 </tr> <!-- end of entry -->
4642
4643
4644 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4645 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4646 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004647 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004648
4649
4650
4651
4652 </td> <!-- entry_type -->
4653
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004654 <td class="entry_visibility">public</td>
4655
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004656 <td class="entry_description">
4657 Time GPS fix was made to include in
4658 EXIF
4659 </td>
4660
4661 <td class="entry_units">
4662 UTC in seconds since January 1,<wbr> 1970
4663 </td>
4664
4665 <td class="entry_range">
4666 </td>
4667
4668 <td class="entry_notes">
4669 </td>
4670
4671 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004672 <ul class="entry_tags">
4673 <li><a href="#tag_BC">BC</a></li>
4674 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004675 </td>
4676
4677 </tr> <!-- end of entry -->
4678
4679
4680 <tr class="entry" id="dynamic_android.jpeg.orientation">
4681 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4682 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004683 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004684
4685
4686
4687
4688 </td> <!-- entry_type -->
4689
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004690 <td class="entry_visibility">public</td>
4691
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004692 <td class="entry_description">
4693 Orientation of JPEG image to
4694 write
4695 </td>
4696
4697 <td class="entry_units">
4698 Degrees in multiples of 90
4699 </td>
4700
4701 <td class="entry_range">
4702 0,<wbr> 90,<wbr> 180,<wbr> 270
4703 </td>
4704
4705 <td class="entry_notes">
4706 </td>
4707
4708 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004709 <ul class="entry_tags">
4710 <li><a href="#tag_BC">BC</a></li>
4711 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004712 </td>
4713
4714 </tr> <!-- end of entry -->
4715
4716
4717 <tr class="entry" id="dynamic_android.jpeg.quality">
4718 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4719 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004720 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004721
4722
4723
4724
4725 </td> <!-- entry_type -->
4726
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004727 <td class="entry_visibility">public</td>
4728
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004729 <td class="entry_description">
4730 Compression quality of the final JPEG
4731 image
4732 </td>
4733
4734 <td class="entry_units">
4735 </td>
4736
4737 <td class="entry_range">
4738 1-100; larger is higher quality
4739 </td>
4740
4741 <td class="entry_notes">
4742 85-95 is typical usage range
4743 </td>
4744
4745 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004746 <ul class="entry_tags">
4747 <li><a href="#tag_BC">BC</a></li>
4748 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004749 </td>
4750
4751 </tr> <!-- end of entry -->
4752
4753
4754 <tr class="entry" id="dynamic_android.jpeg.size">
4755 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
4756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004757 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004758
4759
4760
4761
4762 </td> <!-- entry_type -->
4763
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004764 <td class="entry_visibility">system</td>
4765
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004766 <td class="entry_description">
4767 The size of the compressed JPEG image,<wbr> in
4768 bytes
4769 </td>
4770
4771 <td class="entry_units">
4772 </td>
4773
4774 <td class="entry_range">
4775 >= 0
4776 </td>
4777
4778 <td class="entry_notes">
4779 If no JPEG output is produced for the request,<wbr>
4780 this must be 0.<wbr> Otherwise,<wbr> this describes the real size
4781 of the compressed JPEG image placed in the output stream.<wbr>
4782 More specifically,<wbr> if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and
4783 a specific capture has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then
4784 the output buffer from the JPEG stream will be 1000000
4785 bytes,<wbr> of which the first 500000 make up the real
4786 data.<wbr>
4787 </td>
4788
4789 <td class="entry_tags">
4790 </td>
4791
4792 </tr> <!-- end of entry -->
4793
4794
4795 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
4796 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4797 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004798 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004799
4800
4801
4802
4803 </td> <!-- entry_type -->
4804
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004805 <td class="entry_visibility">public</td>
4806
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004807 <td class="entry_description">
4808 Compression quality of JPEG
4809 thumbnail
4810 </td>
4811
4812 <td class="entry_units">
4813 </td>
4814
4815 <td class="entry_range">
4816 1-100; larger is higher quality
4817 </td>
4818
4819 <td class="entry_notes">
4820 </td>
4821
4822 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004823 <ul class="entry_tags">
4824 <li><a href="#tag_BC">BC</a></li>
4825 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004826 </td>
4827
4828 </tr> <!-- end of entry -->
4829
4830
4831 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
4832 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4833 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004834 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004835 <span class="entry_type_container">x</span>
4836
4837 <span class="entry_type_array">
4838 2
4839 </span>
4840
4841
4842
4843 </td> <!-- entry_type -->
4844
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004845 <td class="entry_visibility">public</td>
4846
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004847 <td class="entry_description">
4848 Resolution of embedded JPEG
4849 thumbnail
4850 </td>
4851
4852 <td class="entry_units">
4853 </td>
4854
4855 <td class="entry_range">
4856 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4857 </td>
4858
4859 <td class="entry_notes">
4860 </td>
4861
4862 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004863 <ul class="entry_tags">
4864 <li><a href="#tag_BC">BC</a></li>
4865 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004866 </td>
4867
4868 </tr> <!-- end of entry -->
4869
4870
4871
4872 <!-- end of kind -->
4873 </tbody>
4874
4875 <!-- end of section -->
4876 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
4877
4878
4879 <tr><td colspan="7" class="kind">controls</td></tr>
4880
4881 <thead>
4882 <tr>
4883 <th class="th_name">Property Name</th>
4884 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004885 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004886 <th class="th_description">Description</th>
4887 <th class="th_units">Units</th>
4888 <th class="th_range">Range</th>
4889 <th class="th_notes">Notes</th>
4890 <th class="th_tags">Tags</th>
4891 </tr>
4892 </thead>
4893
4894 <tbody>
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905 <tr class="entry" id="controls_android.lens.aperture">
4906 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
4907 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004908 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004909
4910
4911
4912
4913 </td> <!-- entry_type -->
4914
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004915 <td class="entry_visibility">public</td>
4916
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004917 <td class="entry_description">
4918 Size of the lens aperture
4919 </td>
4920
4921 <td class="entry_units">
4922 f-number (f/<wbr>NNN)
4923 </td>
4924
4925 <td class="entry_range">
4926 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
4927 </td>
4928
4929 <td class="entry_notes">
4930 Will not be supported on most devices.<wbr> Can only
4931 pick from supported list
4932 </td>
4933
4934 <td class="entry_tags">
4935 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004936 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004937 </ul>
4938 </td>
4939
4940 </tr> <!-- end of entry -->
4941
4942
4943 <tr class="entry" id="controls_android.lens.filterDensity">
4944 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
4945 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004946 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004947
4948
4949
4950
4951 </td> <!-- entry_type -->
4952
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004953 <td class="entry_visibility">public</td>
4954
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004955 <td class="entry_description">
4956 State of lens neutral density
4957 filter(s)
4958 </td>
4959
4960 <td class="entry_units">
4961 number of stops of filtering
4962 </td>
4963
4964 <td class="entry_range">
4965 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
4966 </td>
4967
4968 <td class="entry_notes">
4969 Will not be supported on most devices.<wbr> Can only
4970 pick from supported list
4971 </td>
4972
4973 <td class="entry_tags">
4974 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004975 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004976 </ul>
4977 </td>
4978
4979 </tr> <!-- end of entry -->
4980
4981
4982 <tr class="entry" id="controls_android.lens.focalLength">
4983 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
4984 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004985 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004986
4987
4988
4989
4990 </td> <!-- entry_type -->
4991
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07004992 <td class="entry_visibility">public</td>
4993
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004994 <td class="entry_description">
4995 Lens optical zoom setting
4996 </td>
4997
4998 <td class="entry_units">
4999 focal length in mm
5000 </td>
5001
5002 <td class="entry_range">
5003 > 0
5004 </td>
5005
5006 <td class="entry_notes">
5007 Will not be supported on most devices.<wbr>
5008 </td>
5009
5010 <td class="entry_tags">
5011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005012 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005013 </ul>
5014 </td>
5015
5016 </tr> <!-- end of entry -->
5017
5018
5019 <tr class="entry" id="controls_android.lens.focusDistance">
5020 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5021 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005022 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005023
5024
5025
5026
5027 </td> <!-- entry_type -->
5028
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005029 <td class="entry_visibility">public</td>
5030
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005031 <td class="entry_description">
5032 Distance to plane of sharpest focus,<wbr>
5033 measured from frontmost surface of the lens
5034 </td>
5035
5036 <td class="entry_units">
5037 diopters (1/<wbr>m)
5038 </td>
5039
5040 <td class="entry_range">
5041 >= 0
5042 </td>
5043
5044 <td class="entry_notes">
5045 0 = infinity focus.<wbr> Used value should be clamped
5046 to (0,<wbr>minimum focus distance)
5047 </td>
5048
5049 <td class="entry_tags">
5050 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005051 <li><a href="#tag_BC">BC</a></li>
5052 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053 </ul>
5054 </td>
5055
5056 </tr> <!-- end of entry -->
5057
5058
5059 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5060 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5061 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005062 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005063
5064
5065
5066 <ul class="entry_type_enum">
5067 <li>
5068 <span class="entry_type_enum_name">OFF</span>
5069 </li>
5070 <li>
5071 <span class="entry_type_enum_name">ON</span>
5072 <span class="entry_type_enum_optional">optional</span>
5073 </li>
5074 </ul>
5075
5076 </td> <!-- entry_type -->
5077
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005078 <td class="entry_visibility">public</td>
5079
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005080 <td class="entry_description">
5081 Whether optical image stabilization is
5082 enabled.<wbr>
5083 </td>
5084
5085 <td class="entry_units">
5086 </td>
5087
5088 <td class="entry_range">
5089 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5090 </td>
5091
5092 <td class="entry_notes">
5093 Will not be supported on most devices.<wbr>
5094 </td>
5095
5096 <td class="entry_tags">
5097 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005098 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005099 </ul>
5100 </td>
5101
5102 </tr> <!-- end of entry -->
5103
5104
5105
5106 <!-- end of kind -->
5107 </tbody>
5108 <tr><td colspan="7" class="kind">static</td></tr>
5109
5110 <thead>
5111 <tr>
5112 <th class="th_name">Property Name</th>
5113 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005114 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005115 <th class="th_description">Description</th>
5116 <th class="th_units">Units</th>
5117 <th class="th_range">Range</th>
5118 <th class="th_notes">Notes</th>
5119 <th class="th_tags">Tags</th>
5120 </tr>
5121 </thead>
5122
5123 <tbody>
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136 <tr class="entry" id="static_android.lens.info.availableApertures">
5137 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5138 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005139 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005140 <span class="entry_type_container">x</span>
5141
5142 <span class="entry_type_array">
5143 n
5144 </span>
5145
5146
5147
5148 </td> <!-- entry_type -->
5149
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005150 <td class="entry_visibility">public</td>
5151
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005152 <td class="entry_description">
5153 List of supported aperture
5154 values
5155 </td>
5156
5157 <td class="entry_units">
5158 </td>
5159
5160 <td class="entry_range">
5161 one entry required,<wbr> > 0
5162 </td>
5163
5164 <td class="entry_notes">
5165 If variable aperture not available,<wbr> only setting
5166 should be for the fixed aperture
5167 </td>
5168
5169 <td class="entry_tags">
5170 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005171 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005172 </ul>
5173 </td>
5174
5175 </tr> <!-- end of entry -->
5176
5177
5178 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5179 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005181 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005182 <span class="entry_type_container">x</span>
5183
5184 <span class="entry_type_array">
5185 n
5186 </span>
5187
5188
5189
5190 </td> <!-- entry_type -->
5191
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005192 <td class="entry_visibility">public</td>
5193
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005194 <td class="entry_description">
5195 List of supported ND filter
5196 values
5197 </td>
5198
5199 <td class="entry_units">
5200 </td>
5201
5202 <td class="entry_range">
5203 one entry required,<wbr> >= 0
5204 </td>
5205
5206 <td class="entry_notes">
5207 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5208 lists the available exposure index values for dimming
5209 (2 would mean the filter is set to reduce incoming
5210 light by two stops)
5211 </td>
5212
5213 <td class="entry_tags">
5214 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005215 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005216 </ul>
5217 </td>
5218
5219 </tr> <!-- end of entry -->
5220
5221
5222 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5223 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5224 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005225 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005226 <span class="entry_type_container">x</span>
5227
5228 <span class="entry_type_array">
5229 n
5230 </span>
5231
5232 <div class="entry_type_notes">the list of available focal lengths</div>
5233
5234
5235 </td> <!-- entry_type -->
5236
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005237 <td class="entry_visibility">public</td>
5238
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005239 <td class="entry_description">
5240 If fitted with optical zoom,<wbr> what focal
5241 lengths are available.<wbr> If not,<wbr> the static focal
5242 length
5243 </td>
5244
5245 <td class="entry_units">
5246 </td>
5247
5248 <td class="entry_range">
5249 > 0
5250 </td>
5251
5252 <td class="entry_notes">
5253 If optical zoom not supported,<wbr> only one value
5254 should be reported
5255 </td>
5256
5257 <td class="entry_tags">
5258 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005259 <li><a href="#tag_BC">BC</a></li>
5260 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005261 </ul>
5262 </td>
5263
5264 </tr> <!-- end of entry -->
5265
5266
5267 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5268 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5269 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005270 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005271 <span class="entry_type_container">x</span>
5272
5273 <span class="entry_type_array">
5274 n
5275 </span>
5276
5277 <div class="entry_type_notes">list of enums</div>
5278
5279
5280 </td> <!-- entry_type -->
5281
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005282 <td class="entry_visibility">public</td>
5283
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005284 <td class="entry_description">
5285 List of supported optical image
5286 stabilization modes
5287 </td>
5288
5289 <td class="entry_units">
5290 </td>
5291
5292 <td class="entry_range">
5293 </td>
5294
5295 <td class="entry_notes">
5296 </td>
5297
5298 <td class="entry_tags">
5299 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005300 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005301 </ul>
5302 </td>
5303
5304 </tr> <!-- end of entry -->
5305
5306
5307 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5308 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005310 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005311 <span class="entry_type_container">x</span>
5312
5313 <span class="entry_type_array">
5314 2 x 3 x n x m
5315 </span>
5316
5317 <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>
5318
5319
5320 </td> <!-- entry_type -->
5321
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005322 <td class="entry_visibility">system</td>
5323
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005324 <td class="entry_description">
5325 A low-resolution map for correction of
5326 geometric distortions and chromatic aberrations,<wbr> per
5327 color channel
5328 </td>
5329
5330 <td class="entry_units">
5331 </td>
5332
5333 <td class="entry_range">
5334 N,<wbr> M >= 2
5335 </td>
5336
5337 <td class="entry_notes">
5338 [DNG wants a function instead].<wbr> What's easiest
5339 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5340 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5341 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5342 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5343 </td>
5344
5345 <td class="entry_tags">
5346 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005347 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005348 </ul>
5349 </td>
5350
5351 </tr> <!-- end of entry -->
5352
5353
5354 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5355 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5356 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005357 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005358 <span class="entry_type_container">x</span>
5359
5360 <span class="entry_type_array">
5361 2
5362 </span>
5363
5364 <div class="entry_type_notes">width and height of geometric correction map</div>
5365
5366
5367 </td> <!-- entry_type -->
5368
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005369 <td class="entry_visibility">system</td>
5370
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005371 <td class="entry_description">
5372 Dimensions of geometric correction
5373 map
5374 </td>
5375
5376 <td class="entry_units">
5377 </td>
5378
5379 <td class="entry_range">
5380 Both values >= 2
5381 </td>
5382
5383 <td class="entry_notes">
5384 </td>
5385
5386 <td class="entry_tags">
5387 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005388 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005389 </ul>
5390 </td>
5391
5392 </tr> <!-- end of entry -->
5393
5394
5395 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5396 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5397 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005398 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005399
5400
5401
5402
5403 </td> <!-- entry_type -->
5404
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005405 <td class="entry_visibility">public</td>
5406
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005407 <td class="entry_description">
5408 Hyperfocal distance for this lens; set to
5409 0 if fixed focus
5410 </td>
5411
5412 <td class="entry_units">
5413 diopters
5414 </td>
5415
5416 <td class="entry_range">
5417 >= 0
5418 </td>
5419
5420 <td class="entry_notes">
5421 The hyperfocal distance is used for the old
5422 API's 'fixed' setting
5423 </td>
5424
5425 <td class="entry_tags">
5426 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005427 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005428 </ul>
5429 </td>
5430
5431 </tr> <!-- end of entry -->
5432
5433
5434 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5435 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5436 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005437 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005438
5439
5440
5441
5442 </td> <!-- entry_type -->
5443
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005444 <td class="entry_visibility">public</td>
5445
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005446 <td class="entry_description">
5447 Shortest distance from frontmost surface
5448 of the lens that can be focused correctly
5449 </td>
5450
5451 <td class="entry_units">
5452 diopters
5453 </td>
5454
5455 <td class="entry_range">
5456 >= 0
5457 </td>
5458
5459 <td class="entry_notes">
5460 If the lens is fixed-focus,<wbr> this should be
5461 0
5462 </td>
5463
5464 <td class="entry_tags">
5465 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005466 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005467 </ul>
5468 </td>
5469
5470 </tr> <!-- end of entry -->
5471
5472
5473 <tr class="entry" id="static_android.lens.info.shadingMap">
5474 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map</td>
5475 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005476 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005477 <span class="entry_type_container">x</span>
5478
5479 <span class="entry_type_array">
5480 3 x n x m
5481 </span>
5482
5483 <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>
5484
5485
5486 </td> <!-- entry_type -->
5487
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005488 <td class="entry_visibility">system</td>
5489
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005490 <td class="entry_description">
5491 A low-resolution map of lens shading,<wbr> per
5492 color channel
5493 </td>
5494
5495 <td class="entry_units">
5496 </td>
5497
5498 <td class="entry_range">
5499 Each gain factor is >= 1
5500 </td>
5501
5502 <td class="entry_notes">
5503 Assume bilinear interpolation of map.<wbr> The least
5504 shaded section of the image should have a gain factor
5505 of 1; all other sections should have gains above
5506 1.<wbr>
5507 </td>
5508
5509 <td class="entry_tags">
5510 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005511 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005512 </ul>
5513 </td>
5514
5515 </tr> <!-- end of entry -->
5516
5517
5518 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5519 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5520 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005521 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005522 <span class="entry_type_container">x</span>
5523
5524 <span class="entry_type_array">
5525 2
5526 </span>
5527
5528 <div class="entry_type_notes">width and height of lens shading map</div>
5529
5530
5531 </td> <!-- entry_type -->
5532
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005533 <td class="entry_visibility">public</td>
5534
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005535 <td class="entry_description">
5536 Dimensions of lens shading
5537 map
5538 </td>
5539
5540 <td class="entry_units">
5541 </td>
5542
5543 <td class="entry_range">
5544 Both values >= 1
5545 </td>
5546
5547 <td class="entry_notes">
5548 </td>
5549
5550 <td class="entry_tags">
5551 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005552 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005553 </ul>
5554 </td>
5555
5556 </tr> <!-- end of entry -->
5557
5558
5559
5560
5561
5562 <tr class="entry" id="static_android.lens.facing">
5563 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5564 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005565 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005566
5567
5568
5569 <ul class="entry_type_enum">
5570 <li>
5571 <span class="entry_type_enum_name">FRONT</span>
5572 </li>
5573 <li>
5574 <span class="entry_type_enum_name">BACK</span>
5575 </li>
5576 </ul>
5577
5578 </td> <!-- entry_type -->
5579
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005580 <td class="entry_visibility">public</td>
5581
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005582 <td class="entry_description">
5583 Direction the camera faces relative to
5584 device screen
5585 </td>
5586
5587 <td class="entry_units">
5588 </td>
5589
5590 <td class="entry_range">
5591 </td>
5592
5593 <td class="entry_notes">
5594 </td>
5595
5596 <td class="entry_tags">
5597 </td>
5598
5599 </tr> <!-- end of entry -->
5600
5601
5602 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5603 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5604 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005605 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005606 <span class="entry_type_container">x</span>
5607
5608 <span class="entry_type_array">
5609 2
5610 </span>
5611
5612 <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>
5613
5614
5615 </td> <!-- entry_type -->
5616
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005617 <td class="entry_visibility">system</td>
5618
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005619 <td class="entry_description">
5620 Relative angle of camera optical axis to the
5621 perpendicular axis from the display
5622 </td>
5623
5624 <td class="entry_units">
5625 </td>
5626
5627 <td class="entry_range">
5628 [0-90) for first angle,<wbr> [0-360) for second
5629 </td>
5630
5631 <td class="entry_notes">
5632 Examples: (0,<wbr>0) means that the camera optical axis
5633 is perpendicular to the display surface; (45,<wbr>0) means
5634 that the camera points 45 degrees up when device is held
5635 upright; (45,<wbr>90) means the camera points 45 degrees to
5636 the right when the device is held upright.<wbr> Use FACING
5637 field to determine perpendicular outgoing
5638 direction
5639 </td>
5640
5641 <td class="entry_tags">
5642 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005643 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005644 </ul>
5645 </td>
5646
5647 </tr> <!-- end of entry -->
5648
5649
5650 <tr class="entry" id="static_android.lens.position">
5651 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5652 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005653 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005654 <span class="entry_type_container">x</span>
5655
5656 <span class="entry_type_array">
5657 3, location in mm, in the sensor coordinate
5658 system
5659 </span>
5660
5661
5662
5663 </td> <!-- entry_type -->
5664
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005665 <td class="entry_visibility">system</td>
5666
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005667 <td class="entry_description">
5668 Coordinates of camera optical axis on
5669 device
5670 </td>
5671
5672 <td class="entry_units">
5673 </td>
5674
5675 <td class="entry_range">
5676 </td>
5677
5678 <td class="entry_notes">
5679 </td>
5680
5681 <td class="entry_tags">
5682 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005683 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005684 </ul>
5685 </td>
5686
5687 </tr> <!-- end of entry -->
5688
5689
5690
5691 <!-- end of kind -->
5692 </tbody>
5693 <tr><td colspan="7" class="kind">dynamic</td></tr>
5694
5695 <thead>
5696 <tr>
5697 <th class="th_name">Property Name</th>
5698 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005699 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005700 <th class="th_description">Description</th>
5701 <th class="th_units">Units</th>
5702 <th class="th_range">Range</th>
5703 <th class="th_notes">Notes</th>
5704 <th class="th_tags">Tags</th>
5705 </tr>
5706 </thead>
5707
5708 <tbody>
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719 <tr class="entry" id="dynamic_android.lens.aperture">
5720 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005722 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005723
5724
5725
5726
5727 </td> <!-- entry_type -->
5728
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005729 <td class="entry_visibility">public</td>
5730
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005731 <td class="entry_description">
5732 Size of the lens aperture
5733 </td>
5734
5735 <td class="entry_units">
5736 f-number (f/<wbr>NNN)
5737 </td>
5738
5739 <td class="entry_range">
5740 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5741 </td>
5742
5743 <td class="entry_notes">
5744 Will not be supported on most devices.<wbr> Can only
5745 pick from supported list
5746 </td>
5747
5748 <td class="entry_tags">
5749 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005750 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005751 </ul>
5752 </td>
5753
5754 </tr> <!-- end of entry -->
5755
5756
5757 <tr class="entry" id="dynamic_android.lens.filterDensity">
5758 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5759 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005760 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005761
5762
5763
5764
5765 </td> <!-- entry_type -->
5766
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005767 <td class="entry_visibility">public</td>
5768
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005769 <td class="entry_description">
5770 State of lens neutral density
5771 filter(s)
5772 </td>
5773
5774 <td class="entry_units">
5775 number of stops of filtering
5776 </td>
5777
5778 <td class="entry_range">
5779 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5780 </td>
5781
5782 <td class="entry_notes">
5783 Will not be supported on most devices.<wbr> Can only
5784 pick from supported list
5785 </td>
5786
5787 <td class="entry_tags">
5788 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005789 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005790 </ul>
5791 </td>
5792
5793 </tr> <!-- end of entry -->
5794
5795
5796 <tr class="entry" id="dynamic_android.lens.focalLength">
5797 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5798 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005799 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005800
5801
5802
5803
5804 </td> <!-- entry_type -->
5805
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005806 <td class="entry_visibility">public</td>
5807
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005808 <td class="entry_description">
5809 Lens optical zoom setting
5810 </td>
5811
5812 <td class="entry_units">
5813 focal length in mm
5814 </td>
5815
5816 <td class="entry_range">
5817 > 0
5818 </td>
5819
5820 <td class="entry_notes">
5821 Will not be supported on most devices.<wbr>
5822 </td>
5823
5824 <td class="entry_tags">
5825 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005826 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827 </ul>
5828 </td>
5829
5830 </tr> <!-- end of entry -->
5831
5832
5833 <tr class="entry" id="dynamic_android.lens.focusDistance">
5834 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005836 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005837
5838
5839
5840
5841 </td> <!-- entry_type -->
5842
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005843 <td class="entry_visibility">public</td>
5844
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005845 <td class="entry_description">
5846 Distance to plane of sharpest focus,<wbr>
5847 measured from frontmost surface of the lens
5848 </td>
5849
5850 <td class="entry_units">
5851 diopters (1/<wbr>m)
5852 </td>
5853
5854 <td class="entry_range">
5855 >= 0
5856 </td>
5857
5858 <td class="entry_notes">
5859 Should be zero for fixed-focus cameras
5860 </td>
5861
5862 <td class="entry_tags">
5863 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005864 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005865 </ul>
5866 </td>
5867
5868 </tr> <!-- end of entry -->
5869
5870
5871 <tr class="entry" id="dynamic_android.lens.focusRange">
5872 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
5873 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005874 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005875
5876
5877
5878
5879 </td> <!-- entry_type -->
5880
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005881 <td class="entry_visibility">public</td>
5882
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005883 <td class="entry_description">
5884 The range of scene distances that are in
5885 sharp focus (depth of field)
5886 </td>
5887
5888 <td class="entry_units">
5889 pair of focus distances in diopters: (near,<wbr>
5890 far)
5891 </td>
5892
5893 <td class="entry_range">
5894 >=0
5895 </td>
5896
5897 <td class="entry_notes">
5898 If variable focus not supported,<wbr> can still report
5899 fixed depth of field range
5900 </td>
5901
5902 <td class="entry_tags">
5903 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005904 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005905 </ul>
5906 </td>
5907
5908 </tr> <!-- end of entry -->
5909
5910
5911 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
5912 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5913 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005914 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005915
5916
5917
5918 <ul class="entry_type_enum">
5919 <li>
5920 <span class="entry_type_enum_name">OFF</span>
5921 </li>
5922 <li>
5923 <span class="entry_type_enum_name">ON</span>
5924 <span class="entry_type_enum_optional">optional</span>
5925 </li>
5926 </ul>
5927
5928 </td> <!-- entry_type -->
5929
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005930 <td class="entry_visibility">public</td>
5931
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005932 <td class="entry_description">
5933 Whether optical image stabilization is
5934 enabled.<wbr>
5935 </td>
5936
5937 <td class="entry_units">
5938 </td>
5939
5940 <td class="entry_range">
5941 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5942 </td>
5943
5944 <td class="entry_notes">
5945 Will not be supported on most devices.<wbr>
5946 </td>
5947
5948 <td class="entry_tags">
5949 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005950 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951 </ul>
5952 </td>
5953
5954 </tr> <!-- end of entry -->
5955
5956
5957 <tr class="entry" id="dynamic_android.lens.state">
5958 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
5959 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005960 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005961
5962
5963
5964 <ul class="entry_type_enum">
5965 <li>
5966 <span class="entry_type_enum_name">STATIONARY</span>
5967 </li>
5968 </ul>
5969
5970 </td> <!-- entry_type -->
5971
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07005972 <td class="entry_visibility">public</td>
5973
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974 <td class="entry_description">
5975 Current lens status
5976 </td>
5977
5978 <td class="entry_units">
5979 </td>
5980
5981 <td class="entry_range">
5982 </td>
5983
5984 <td class="entry_notes">
5985 </td>
5986
5987 <td class="entry_tags">
5988 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005989 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005990 </ul>
5991 </td>
5992
5993 </tr> <!-- end of entry -->
5994
5995
5996
5997 <!-- end of kind -->
5998 </tbody>
5999
6000 <!-- end of section -->
6001 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6002
6003
6004 <tr><td colspan="7" class="kind">controls</td></tr>
6005
6006 <thead>
6007 <tr>
6008 <th class="th_name">Property Name</th>
6009 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006010 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006011 <th class="th_description">Description</th>
6012 <th class="th_units">Units</th>
6013 <th class="th_range">Range</th>
6014 <th class="th_notes">Notes</th>
6015 <th class="th_tags">Tags</th>
6016 </tr>
6017 </thead>
6018
6019 <tbody>
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030 <tr class="entry" id="controls_android.noiseReduction.mode">
6031 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6032 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006033 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006034
6035
6036
6037 <ul class="entry_type_enum">
6038 <li>
6039 <span class="entry_type_enum_name">OFF</span>
6040 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6041 </li>
6042 <li>
6043 <span class="entry_type_enum_name">FAST</span>
6044 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6045 bayer output</span>
6046 </li>
6047 <li>
6048 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6049 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6050 quality</span>
6051 </li>
6052 </ul>
6053
6054 </td> <!-- entry_type -->
6055
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006056 <td class="entry_visibility">public</td>
6057
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006058 <td class="entry_description">
6059 Mode of operation for the noise reduction
6060 algorithm
6061 </td>
6062
6063 <td class="entry_units">
6064 </td>
6065
6066 <td class="entry_range">
6067 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6068 </td>
6069
6070 <td class="entry_notes">
6071 </td>
6072
6073 <td class="entry_tags">
6074 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006075 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006076 </ul>
6077 </td>
6078
6079 </tr> <!-- end of entry -->
6080
6081
6082 <tr class="entry" id="controls_android.noiseReduction.strength">
6083 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6084 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006085 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006086
6087
6088
6089
6090 </td> <!-- entry_type -->
6091
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006092 <td class="entry_visibility">system</td>
6093
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006094 <td class="entry_description">
6095 Control the amount of noise reduction
6096 applied to the images
6097 </td>
6098
6099 <td class="entry_units">
6100 1-10; 10 is max noise reduction
6101 </td>
6102
6103 <td class="entry_range">
6104 1 - 10
6105 </td>
6106
6107 <td class="entry_notes">
6108 </td>
6109
6110 <td class="entry_tags">
6111 </td>
6112
6113 </tr> <!-- end of entry -->
6114
6115
6116
6117 <!-- end of kind -->
6118 </tbody>
6119 <tr><td colspan="7" class="kind">dynamic</td></tr>
6120
6121 <thead>
6122 <tr>
6123 <th class="th_name">Property Name</th>
6124 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006125 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006126 <th class="th_description">Description</th>
6127 <th class="th_units">Units</th>
6128 <th class="th_range">Range</th>
6129 <th class="th_notes">Notes</th>
6130 <th class="th_tags">Tags</th>
6131 </tr>
6132 </thead>
6133
6134 <tbody>
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6146 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6147 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006148 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006149
6150
6151
6152 <ul class="entry_type_enum">
6153 <li>
6154 <span class="entry_type_enum_name">OFF</span>
6155 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6156 </li>
6157 <li>
6158 <span class="entry_type_enum_name">FAST</span>
6159 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6160 bayer output</span>
6161 </li>
6162 <li>
6163 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6164 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6165 quality</span>
6166 </li>
6167 </ul>
6168
6169 </td> <!-- entry_type -->
6170
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006171 <td class="entry_visibility">public</td>
6172
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006173 <td class="entry_description">
6174 Mode of operation for the noise reduction
6175 algorithm
6176 </td>
6177
6178 <td class="entry_units">
6179 </td>
6180
6181 <td class="entry_range">
6182 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6183 </td>
6184
6185 <td class="entry_notes">
6186 </td>
6187
6188 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006189 <ul class="entry_tags">
6190 <li><a href="#tag_V1">V1</a></li>
6191 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006192 </td>
6193
6194 </tr> <!-- end of entry -->
6195
6196
6197
6198 <!-- end of kind -->
6199 </tbody>
6200
6201 <!-- end of section -->
6202 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6203
6204
6205 <tr><td colspan="7" class="kind">static</td></tr>
6206
6207 <thead>
6208 <tr>
6209 <th class="th_name">Property Name</th>
6210 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006211 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006212 <th class="th_description">Description</th>
6213 <th class="th_units">Units</th>
6214 <th class="th_range">Range</th>
6215 <th class="th_notes">Notes</th>
6216 <th class="th_tags">Tags</th>
6217 </tr>
6218 </thead>
6219
6220 <tbody>
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6232 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6233 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006234 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006235
6236
6237
6238
6239 </td> <!-- entry_type -->
6240
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006241 <td class="entry_visibility">system</td>
6242
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006243 <td class="entry_description">
6244 If set to 1,<wbr> the camera service does not
6245 scale 'normalized' coordinates with respect to the crop
6246 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6247 and output (face rectangles).<wbr>
6248 </td>
6249
6250 <td class="entry_units">
6251 </td>
6252
6253 <td class="entry_range">
6254 </td>
6255
6256 <td class="entry_notes">
6257 Normalized coordinates refer to those in the
6258 (-1000,<wbr>1000) range mentioned in the
6259 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr> HAL implementations should
6260 instead always use and emit sensor array-relative
6261 coordinates for all region data.<wbr> Does not need to be
6262 listed in static metadata.<wbr> Support will be removed in
6263 future versions of camera service.<wbr>
6264 </td>
6265
6266 <td class="entry_tags">
6267 </td>
6268
6269 </tr> <!-- end of entry -->
6270
6271
6272 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6273 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6274 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006275 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006276
6277
6278
6279
6280 </td> <!-- entry_type -->
6281
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006282 <td class="entry_visibility">system</td>
6283
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006284 <td class="entry_description">
6285 If set to 1,<wbr> then the camera service always
6286 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6287 trigger.<wbr>
6288 </td>
6289
6290 <td class="entry_units">
6291 </td>
6292
6293 <td class="entry_range">
6294 </td>
6295
6296 <td class="entry_notes">
6297 HAL implementations should implement AF trigger
6298 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6299 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6300 not need to be listed in static metadata.<wbr> Support will be
6301 removed in future versions of camera service
6302 </td>
6303
6304 <td class="entry_tags">
6305 </td>
6306
6307 </tr> <!-- end of entry -->
6308
6309
6310 <tr class="entry" id="static_android.quirks.useZslFormat">
6311 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6312 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006313 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006314
6315
6316
6317
6318 </td> <!-- entry_type -->
6319
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006320 <td class="entry_visibility">system</td>
6321
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006322 <td class="entry_description">
6323 If set to 1,<wbr> the camera service uses
6324 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6325 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6326 shutter lag stream
6327 </td>
6328
6329 <td class="entry_units">
6330 </td>
6331
6332 <td class="entry_range">
6333 </td>
6334
6335 <td class="entry_notes">
6336 HAL implementations should use gralloc usage flags
6337 to determine that a stream will be used for
6338 zero-shutter-lag,<wbr> instead of relying on an explicit
6339 format setting.<wbr> Does not need to be listed in static
6340 metadata.<wbr> Support will be removed in future versions of
6341 camera service.<wbr>
6342 </td>
6343
6344 <td class="entry_tags">
6345 </td>
6346
6347 </tr> <!-- end of entry -->
6348
6349
6350
6351 <!-- end of kind -->
6352 </tbody>
6353
6354 <!-- end of section -->
6355 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6356
6357
6358 <tr><td colspan="7" class="kind">controls</td></tr>
6359
6360 <thead>
6361 <tr>
6362 <th class="th_name">Property Name</th>
6363 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006364 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006365 <th class="th_description">Description</th>
6366 <th class="th_units">Units</th>
6367 <th class="th_range">Range</th>
6368 <th class="th_notes">Notes</th>
6369 <th class="th_tags">Tags</th>
6370 </tr>
6371 </thead>
6372
6373 <tbody>
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384 <tr class="entry" id="controls_android.request.frameCount">
6385 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6386 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006387 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006388
6389
6390
6391
6392 </td> <!-- entry_type -->
6393
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006394 <td class="entry_visibility">system</td>
6395
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006396 <td class="entry_description">
6397 A frame counter set by the framework.<wbr> Must
6398 be maintained unchanged in output frame
6399 </td>
6400
6401 <td class="entry_units">
6402 incrementing integer
6403 </td>
6404
6405 <td class="entry_range">
6406 Any int
6407 </td>
6408
6409 <td class="entry_notes">
6410 </td>
6411
6412 <td class="entry_tags">
6413 </td>
6414
6415 </tr> <!-- end of entry -->
6416
6417
6418 <tr class="entry" id="controls_android.request.id">
6419 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6420 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006421 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006422
6423
6424
6425
6426 </td> <!-- entry_type -->
6427
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006428 <td class="entry_visibility">hidden</td>
6429
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006430 <td class="entry_description">
6431 An application-specified ID for the current
6432 request.<wbr> Must be maintained unchanged in output
6433 frame
6434 </td>
6435
6436 <td class="entry_units">
6437 arbitrary integer assigned by application
6438 </td>
6439
6440 <td class="entry_range">
6441 Any int
6442 </td>
6443
6444 <td class="entry_notes">
6445 </td>
6446
6447 <td class="entry_tags">
6448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006449 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006450 </ul>
6451 </td>
6452
6453 </tr> <!-- end of entry -->
6454
6455
6456 <tr class="entry" id="controls_android.request.inputStreams">
6457 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006459 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006460 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006461
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006462 <span class="entry_type_array">
6463 n
6464 </span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006465
6466
6467
6468 </td> <!-- entry_type -->
6469
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006470 <td class="entry_visibility">system</td>
6471
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006472 <td class="entry_description">
6473 List which camera reprocess stream is used
6474 for the source of reprocessing data.<wbr>
6475 </td>
6476
6477 <td class="entry_units">
6478 List of camera reprocess stream IDs
6479 </td>
6480
6481 <td class="entry_range">
6482 Typically,<wbr> only one entry allowed,<wbr> must be a valid
6483 reprocess stream ID.<wbr> If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is
6484 set,<wbr> then multiple reprocess streams may be included in a
6485 single request; they must be different scaled versions of
6486 the same image.<wbr>
6487 </td>
6488
6489 <td class="entry_notes">
6490 Only meaningful when android.<wbr>request.<wbr>type ==
6491 REPROCESS.<wbr> Ignored otherwise
6492 </td>
6493
6494 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006495 <ul class="entry_tags">
6496 <li><a href="#tag_HAL2">HAL2</a></li>
6497 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006498 </td>
6499
6500 </tr> <!-- end of entry -->
6501
6502
6503 <tr class="entry" id="controls_android.request.metadataMode">
6504 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6505 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006506 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006507
6508
6509
6510 <ul class="entry_type_enum">
6511 <li>
6512 <span class="entry_type_enum_name">NONE</span>
6513 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6514 for application-bound buffer data.<wbr> If no
6515 application-bound streams exist,<wbr> no frame should be
6516 placed in the output frame queue.<wbr> If such streams
6517 exist,<wbr> a frame should be placed on the output queue
6518 with null metadata but with the necessary output buffer
6519 information.<wbr> Timestamp information should still be
6520 included with any output stream buffers</span>
6521 </li>
6522 <li>
6523 <span class="entry_type_enum_name">FULL</span>
6524 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6525 only be produced if they are separately
6526 enabled</span>
6527 </li>
6528 </ul>
6529
6530 </td> <!-- entry_type -->
6531
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006532 <td class="entry_visibility">system</td>
6533
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006534 <td class="entry_description">
6535 How much metadata to produce on
6536 output
6537 </td>
6538
6539 <td class="entry_units">
6540 </td>
6541
6542 <td class="entry_range">
6543 </td>
6544
6545 <td class="entry_notes">
6546 </td>
6547
6548 <td class="entry_tags">
6549 </td>
6550
6551 </tr> <!-- end of entry -->
6552
6553
6554 <tr class="entry" id="controls_android.request.outputStreams">
6555 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6556 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006557 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006558 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006559
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006560 <span class="entry_type_array">
6561 n
6562 </span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006563
6564
6565
6566 </td> <!-- entry_type -->
6567
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006568 <td class="entry_visibility">system</td>
6569
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006570 <td class="entry_description">
6571 Lists which camera output streams image data
6572 from this capture must be sent to
6573 </td>
6574
6575 <td class="entry_units">
6576 List of camera stream IDs
6577 </td>
6578
6579 <td class="entry_range">
6580 List must only include streams that have been
6581 created
6582 </td>
6583
6584 <td class="entry_notes">
6585 If no output streams are listed,<wbr> then the image
6586 data should simply be discarded.<wbr> The image data must
6587 still be captured for metadata and statistics production,<wbr>
6588 and the lens and flash must operate as requested.<wbr>
6589 </td>
6590
6591 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006592 <ul class="entry_tags">
6593 <li><a href="#tag_HAL2">HAL2</a></li>
6594 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006595 </td>
6596
6597 </tr> <!-- end of entry -->
6598
6599
6600 <tr class="entry" id="controls_android.request.type">
6601 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6602 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006603 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006604
6605
6606
6607 <ul class="entry_type_enum">
6608 <li>
6609 <span class="entry_type_enum_name">CAPTURE</span>
6610 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6611 and process it according to the
6612 settings</span>
6613 </li>
6614 <li>
6615 <span class="entry_type_enum_name">REPROCESS</span>
6616 <span class="entry_type_enum_notes">Process previously captured data; the
6617 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6618 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6619 needed for reprocessing with [RP]</span>
6620 </li>
6621 </ul>
6622
6623 </td> <!-- entry_type -->
6624
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006625 <td class="entry_visibility">system</td>
6626
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006627 <td class="entry_description">
6628 The type of the request; either CAPTURE or
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006629 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006630 </td>
6631
6632 <td class="entry_units">
6633 </td>
6634
6635 <td class="entry_range">
6636 </td>
6637
6638 <td class="entry_notes">
6639 </td>
6640
6641 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006642 <ul class="entry_tags">
6643 <li><a href="#tag_HAL2">HAL2</a></li>
6644 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006645 </td>
6646
6647 </tr> <!-- end of entry -->
6648
6649
6650
6651 <!-- end of kind -->
6652 </tbody>
6653 <tr><td colspan="7" class="kind">static</td></tr>
6654
6655 <thead>
6656 <tr>
6657 <th class="th_name">Property Name</th>
6658 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006659 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006660 <th class="th_description">Description</th>
6661 <th class="th_units">Units</th>
6662 <th class="th_range">Range</th>
6663 <th class="th_notes">Notes</th>
6664 <th class="th_tags">Tags</th>
6665 </tr>
6666 </thead>
6667
6668 <tbody>
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6680 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6681 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006682 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006683 <span class="entry_type_container">x</span>
6684
6685 <span class="entry_type_array">
6686 3
6687 </span>
6688
6689
6690
6691 </td> <!-- entry_type -->
6692
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006693 <td class="entry_visibility">public</td>
6694
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006695 <td class="entry_description">
6696 How many output streams can be allocated at
6697 the same time for each type of stream
6698 </td>
6699
6700 <td class="entry_units">
6701 The number of raw sensor streams; the number of
6702 processed,<wbr> uncompressed streams; and the number of
6703 JPEG-compressed streams
6704 </td>
6705
6706 <td class="entry_range">
6707 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6708 for processed,<wbr> uncompressed streams
6709 </td>
6710
6711 <td class="entry_notes">
6712 Video snapshot with preview callbacks requires 3
6713 processed streams (preview,<wbr> record,<wbr> app callbacks) and
6714 one JPEG stream (snapshot)
6715 </td>
6716
6717 <td class="entry_tags">
6718 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006719 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006720 </ul>
6721 </td>
6722
6723 </tr> <!-- end of entry -->
6724
6725
6726 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6727 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6728 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006729 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006730 <span class="entry_type_container">x</span>
6731
6732 <span class="entry_type_array">
6733 1
6734 </span>
6735
6736
6737
6738 </td> <!-- entry_type -->
6739
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006740 <td class="entry_visibility">system</td>
6741
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006742 <td class="entry_description">
6743 How many reprocessing streams of any type
6744 can be allocated at the same time
6745 </td>
6746
6747 <td class="entry_units">
6748 </td>
6749
6750 <td class="entry_range">
6751 >= 1
6752 </td>
6753
6754 <td class="entry_notes">
6755 </td>
6756
6757 <td class="entry_tags">
6758 </td>
6759
6760 </tr> <!-- end of entry -->
6761
6762
6763
6764 <!-- end of kind -->
6765 </tbody>
6766 <tr><td colspan="7" class="kind">dynamic</td></tr>
6767
6768 <thead>
6769 <tr>
6770 <th class="th_name">Property Name</th>
6771 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006772 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006773 <th class="th_description">Description</th>
6774 <th class="th_units">Units</th>
6775 <th class="th_range">Range</th>
6776 <th class="th_notes">Notes</th>
6777 <th class="th_tags">Tags</th>
6778 </tr>
6779 </thead>
6780
6781 <tbody>
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792 <tr class="entry" id="dynamic_android.request.frameCount">
6793 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6794 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006795 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006796
6797
6798
6799
6800 </td> <!-- entry_type -->
6801
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006802 <td class="entry_visibility">public</td>
6803
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006804 <td class="entry_description">
6805 Number of frames captured since
6806 open()
6807 </td>
6808
6809 <td class="entry_units">
6810 count of frames
6811 </td>
6812
6813 <td class="entry_range">
6814 > 0
6815 </td>
6816
6817 <td class="entry_notes">
6818 Reset on release()
6819 </td>
6820
6821 <td class="entry_tags">
6822 </td>
6823
6824 </tr> <!-- end of entry -->
6825
6826
6827 <tr class="entry" id="dynamic_android.request.id">
6828 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6829 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006830 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006831
6832
6833
6834
6835 </td> <!-- entry_type -->
6836
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006837 <td class="entry_visibility">hidden</td>
6838
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006839 <td class="entry_description">
6840 An application-specified ID for the current
6841 request.<wbr> Must be maintained unchanged in output
6842 frame
6843 </td>
6844
6845 <td class="entry_units">
6846 arbitrary integer assigned by application
6847 </td>
6848
6849 <td class="entry_range">
6850 Any int
6851 </td>
6852
6853 <td class="entry_notes">
6854 </td>
6855
6856 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006857 <ul class="entry_tags">
6858 <li><a href="#tag_V1">V1</a></li>
6859 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006860 </td>
6861
6862 </tr> <!-- end of entry -->
6863
6864
6865 <tr class="entry" id="dynamic_android.request.metadataMode">
6866 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6867 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006868 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006869
6870
6871
6872 <ul class="entry_type_enum">
6873 <li>
6874 <span class="entry_type_enum_name">NONE</span>
6875 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6876 for application-bound buffer data.<wbr> If no
6877 application-bound streams exist,<wbr> no frame should be
6878 placed in the output frame queue.<wbr> If such streams
6879 exist,<wbr> a frame should be placed on the output queue
6880 with null metadata but with the necessary output buffer
6881 information.<wbr> Timestamp information should still be
6882 included with any output stream buffers</span>
6883 </li>
6884 <li>
6885 <span class="entry_type_enum_name">FULL</span>
6886 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6887 only be produced if they are separately
6888 enabled</span>
6889 </li>
6890 </ul>
6891
6892 </td> <!-- entry_type -->
6893
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006894 <td class="entry_visibility">system</td>
6895
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006896 <td class="entry_description">
6897 How much metadata to produce on
6898 output
6899 </td>
6900
6901 <td class="entry_units">
6902 </td>
6903
6904 <td class="entry_range">
6905 </td>
6906
6907 <td class="entry_notes">
6908 </td>
6909
6910 <td class="entry_tags">
6911 </td>
6912
6913 </tr> <!-- end of entry -->
6914
6915
6916 <tr class="entry" id="dynamic_android.request.outputStreams">
6917 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6918 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006919 <span class="entry_type_name">byte</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006920 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006921
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006922 <span class="entry_type_array">
6923 n
6924 </span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006925
6926
6927
6928 </td> <!-- entry_type -->
6929
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006930 <td class="entry_visibility">system</td>
6931
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006932 <td class="entry_description">
6933 Lists which camera output streams image data
6934 from this capture must be sent to
6935 </td>
6936
6937 <td class="entry_units">
6938 List of camera stream IDs
6939 </td>
6940
6941 <td class="entry_range">
6942 List must only include streams that have been
6943 created
6944 </td>
6945
6946 <td class="entry_notes">
6947 If no output streams are listed,<wbr> then the image
6948 data should simply be discarded.<wbr> The image data must
6949 still be captured for metadata and statistics production,<wbr>
6950 and the lens and flash must operate as requested.<wbr>
6951 </td>
6952
6953 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006954 <ul class="entry_tags">
6955 <li><a href="#tag_HAL2">HAL2</a></li>
6956 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006957 </td>
6958
6959 </tr> <!-- end of entry -->
6960
6961
6962
6963 <!-- end of kind -->
6964 </tbody>
6965
6966 <!-- end of section -->
6967 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
6968
6969
6970 <tr><td colspan="7" class="kind">controls</td></tr>
6971
6972 <thead>
6973 <tr>
6974 <th class="th_name">Property Name</th>
6975 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006976 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006977 <th class="th_description">Description</th>
6978 <th class="th_units">Units</th>
6979 <th class="th_range">Range</th>
6980 <th class="th_notes">Notes</th>
6981 <th class="th_tags">Tags</th>
6982 </tr>
6983 </thead>
6984
6985 <tbody>
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996 <tr class="entry" id="controls_android.scaler.cropRegion">
6997 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
6998 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006999 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007000 <span class="entry_type_container">x</span>
7001
7002 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007003 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007004 </span>
7005
7006
7007
7008 </td> <!-- entry_type -->
7009
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007010 <td class="entry_visibility">public</td>
7011
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007012 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007013 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7014<br>
7015<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7016 (width,<wbr> height).<wbr> The region of the sensor that is used for
7017 output.<wbr> Each stream must use this rectangle to produce its
7018 output,<wbr> cropping to a smaller region if necessary to
7019 maintain the stream's aspect ratio.<wbr>
7020<br>
7021<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007022 </td>
7023
7024 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007025 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7026 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007027 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007028 </td>
7029
7030 <td class="entry_range">
7031 </td>
7032
7033 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007034
7035 Any additional per-stream cropping must be done to
7036 maximize the final pixel area of the stream.<wbr>
7037<br>
7038<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7039 ratio,<wbr> then 4:3 streams should use the exact crop
7040 region.<wbr> 16:9 streams should further crop vertically
7041 (letterbox).<wbr>
7042<br>
7043<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7044 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7045 streams should match exactly.<wbr> These additional crops must
7046 be centered within the crop region.<wbr>
7047<br>
7048<br> The output streams must maintain square pixels at all
7049 times,<wbr> no matter what the relative aspect ratios of the
7050 crop region and the stream are.<wbr> Negative values for
7051 corner are allowed for raw output if full pixel array is
7052 larger than active pixel array.<wbr> Width and height may be
7053 rounded to nearest larger supportable width,<wbr> especially
7054 for raw output,<wbr> where only a few fixed scales may be
7055 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007056 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007057 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007058 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007059 respectively.<wbr>
7060
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007061 </td>
7062
7063 <td class="entry_tags">
7064 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007065 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007066 </ul>
7067 </td>
7068
7069 </tr> <!-- end of entry -->
7070
7071
7072
7073 <!-- end of kind -->
7074 </tbody>
7075 <tr><td colspan="7" class="kind">static</td></tr>
7076
7077 <thead>
7078 <tr>
7079 <th class="th_name">Property Name</th>
7080 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007081 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007082 <th class="th_description">Description</th>
7083 <th class="th_units">Units</th>
7084 <th class="th_range">Range</th>
7085 <th class="th_notes">Notes</th>
7086 <th class="th_tags">Tags</th>
7087 </tr>
7088 </thead>
7089
7090 <tbody>
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101 <tr class="entry" id="static_android.scaler.availableFormats">
7102 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7103 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007104 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007105 <span class="entry_type_container">x</span>
7106
7107 <span class="entry_type_array">
7108 n
7109 </span>
7110
7111 <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>
7112
7113 <ul class="entry_type_enum">
7114 <li>
7115 <span class="entry_type_enum_name">RAW_SENSOR</span>
7116 <span class="entry_type_enum_value">0x20</span>
7117 </li>
7118 <li>
7119 <span class="entry_type_enum_name">YV12</span>
7120 <span class="entry_type_enum_value">0x32315659</span>
7121 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7122 </li>
7123 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007124 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007125 <span class="entry_type_enum_value">0x11</span>
7126 <span class="entry_type_enum_notes">NV21</span>
7127 </li>
7128 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007129 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7130 <span class="entry_type_enum_value">0x22</span>
7131 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7132 </li>
7133 <li>
7134 <span class="entry_type_enum_name">YCbCr_420_888</span>
7135 <span class="entry_type_enum_value">0x23</span>
7136 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7137 </li>
7138 <li>
7139 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007140 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007141 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007142 </li>
7143 </ul>
7144
7145 </td> <!-- entry_type -->
7146
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007147 <td class="entry_visibility">public</td>
7148
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007149 <td class="entry_description">
7150 List of app-visible formats
7151 </td>
7152
7153 <td class="entry_units">
7154 </td>
7155
7156 <td class="entry_range">
7157 </td>
7158
7159 <td class="entry_notes">
7160 </td>
7161
7162 <td class="entry_tags">
7163 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007164 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007165 </ul>
7166 </td>
7167
7168 </tr> <!-- end of entry -->
7169
7170
7171 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7172 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7173 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007174 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007175 <span class="entry_type_container">x</span>
7176
7177 <span class="entry_type_array">
7178 n
7179 </span>
7180
7181
7182
7183 </td> <!-- entry_type -->
7184
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007185 <td class="entry_visibility">public</td>
7186
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007187 <td class="entry_description">
7188 The minimum frame duration that is supported
7189 for each resolution in availableJpegSizes.<wbr> Should
7190 correspond to the frame duration when only that JPEG
7191 stream is active,<wbr> with all processing set to
7192 FAST
7193 </td>
7194
7195 <td class="entry_units">
7196 </td>
7197
7198 <td class="entry_range">
7199 </td>
7200
7201 <td class="entry_notes">
7202 When multiple streams are configured,<wbr> the minimum
7203 frame duration will be >= max(individual stream min
7204 durations)
7205 </td>
7206
7207 <td class="entry_tags">
7208 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007209 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007210 </ul>
7211 </td>
7212
7213 </tr> <!-- end of entry -->
7214
7215
7216 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7217 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7218 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007219 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007220 <span class="entry_type_container">x</span>
7221
7222 <span class="entry_type_array">
7223 n x 2
7224 </span>
7225
7226
7227
7228 </td> <!-- entry_type -->
7229
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007230 <td class="entry_visibility">public</td>
7231
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007232 <td class="entry_description">
7233 The resolutions available for output from
7234 the JPEG block.<wbr> Listed as width x height
7235 </td>
7236
7237 <td class="entry_units">
7238 </td>
7239
7240 <td class="entry_range">
7241 Must include: - sensor maximum resolution Should
7242 include: - half/<wbr>quarter max resolution
7243 </td>
7244
7245 <td class="entry_notes">
7246 </td>
7247
7248 <td class="entry_tags">
7249 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007250 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007251 </ul>
7252 </td>
7253
7254 </tr> <!-- end of entry -->
7255
7256
7257 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7258 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7259 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007260 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007261
7262
7263
7264
7265 </td> <!-- entry_type -->
7266
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007267 <td class="entry_visibility">public</td>
7268
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007269 <td class="entry_description">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007270 The maximum ratio between active area width
7271 and crop region width,<wbr> or between active area height and
7272 crop region height,<wbr> if the crop region height is larger
7273 than width
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007274 </td>
7275
7276 <td class="entry_units">
7277 </td>
7278
7279 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007280 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007281 </td>
7282
7283 <td class="entry_notes">
7284 </td>
7285
7286 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007287 <ul class="entry_tags">
7288 <li><a href="#tag_BC">BC</a></li>
7289 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007290 </td>
7291
7292 </tr> <!-- end of entry -->
7293
7294
7295 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7296 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7297 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007298 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007299 <span class="entry_type_container">x</span>
7300
7301 <span class="entry_type_array">
7302 n
7303 </span>
7304
7305
7306
7307 </td> <!-- entry_type -->
7308
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007309 <td class="entry_visibility">public</td>
7310
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007311 <td class="entry_description">
7312 The minimum frame duration that is supported
7313 for each resolution in availableProcessedSizes.<wbr> Should
7314 correspond to the frame duration when only that processed
7315 stream is active,<wbr> with all processing set to
7316 FAST
7317 </td>
7318
7319 <td class="entry_units">
7320 </td>
7321
7322 <td class="entry_range">
7323 </td>
7324
7325 <td class="entry_notes">
7326 When multiple streams are configured,<wbr> the minimum
7327 frame duration will be >= max(individual stream min
7328 durations)
7329 </td>
7330
7331 <td class="entry_tags">
7332 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007333 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007334 </ul>
7335 </td>
7336
7337 </tr> <!-- end of entry -->
7338
7339
7340 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7341 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007343 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007344 <span class="entry_type_container">x</span>
7345
7346 <span class="entry_type_array">
7347 n x 2
7348 </span>
7349
7350
7351
7352 </td> <!-- entry_type -->
7353
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007354 <td class="entry_visibility">public</td>
7355
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007356 <td class="entry_description">
7357 The resolutions available for use with
7358 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7359 platform opaque YUV/<wbr>RGB streams to the GPU or video
7360 encoders.<wbr> Listed as width,<wbr> height
7361 </td>
7362
7363 <td class="entry_units">
7364 </td>
7365
7366 <td class="entry_range">
7367 Must include: - sensor maximum resolution -
7368 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7369 resolutions
7370 </td>
7371
7372 <td class="entry_notes">
7373 </td>
7374
7375 <td class="entry_tags">
7376 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007377 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007378 </ul>
7379 </td>
7380
7381 </tr> <!-- end of entry -->
7382
7383
7384 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7385 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7386 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007387 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007388 <span class="entry_type_container">x</span>
7389
7390 <span class="entry_type_array">
7391 n
7392 </span>
7393
7394
7395
7396 </td> <!-- entry_type -->
7397
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007398 <td class="entry_visibility">system</td>
7399
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007400 <td class="entry_description">
7401 The minimum frame duration that is supported
7402 for each raw resolution in availableRawSizes.<wbr> Should
7403 correspond to the frame duration when only the raw stream
7404 is active.<wbr>
7405 </td>
7406
7407 <td class="entry_units">
7408 </td>
7409
7410 <td class="entry_range">
7411 </td>
7412
7413 <td class="entry_notes">
7414 When multiple streams are configured,<wbr> the minimum
7415 frame duration will be >= max(individual stream min
7416 durations)
7417 </td>
7418
7419 <td class="entry_tags">
7420 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007421 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007422 </ul>
7423 </td>
7424
7425 </tr> <!-- end of entry -->
7426
7427
7428 <tr class="entry" id="static_android.scaler.availableRawSizes">
7429 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7430 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007431 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007432 <span class="entry_type_container">x</span>
7433
7434 <span class="entry_type_array">
7435 n x 2
7436 </span>
7437
7438
7439
7440 </td> <!-- entry_type -->
7441
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007442 <td class="entry_visibility">system</td>
7443
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007444 <td class="entry_description">
7445 The resolutions available for use with raw
7446 sensor output streams,<wbr> listed as width,<wbr>
7447 height
7448 </td>
7449
7450 <td class="entry_units">
7451 </td>
7452
7453 <td class="entry_range">
7454 Must include: - sensor maximum resolution
7455 </td>
7456
7457 <td class="entry_notes">
7458 </td>
7459
7460 <td class="entry_tags">
7461 </td>
7462
7463 </tr> <!-- end of entry -->
7464
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007465
7466
7467 <!-- end of kind -->
7468 </tbody>
7469 <tr><td colspan="7" class="kind">dynamic</td></tr>
7470
7471 <thead>
7472 <tr>
7473 <th class="th_name">Property Name</th>
7474 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007475 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007476 <th class="th_description">Description</th>
7477 <th class="th_units">Units</th>
7478 <th class="th_range">Range</th>
7479 <th class="th_notes">Notes</th>
7480 <th class="th_tags">Tags</th>
7481 </tr>
7482 </thead>
7483
7484 <tbody>
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7496 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7497 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007498 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007499 <span class="entry_type_container">x</span>
7500
7501 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007502 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007503 </span>
7504
7505
7506
7507 </td> <!-- entry_type -->
7508
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007509 <td class="entry_visibility">public</td>
7510
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007511 <td class="entry_description">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007512 (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7513<br>
7514<br> A rectangle with the top-level corner of (x,<wbr>y) and size
7515 (width,<wbr> height).<wbr> The region of the sensor that is used for
7516 output.<wbr> Each stream must use this rectangle to produce its
7517 output,<wbr> cropping to a smaller region if necessary to
7518 maintain the stream's aspect ratio.<wbr>
7519<br>
7520<br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007521 </td>
7522
7523 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007524 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7525 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007526 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007527 </td>
7528
7529 <td class="entry_range">
7530 </td>
7531
7532 <td class="entry_notes">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007533
7534 Any additional per-stream cropping must be done to
7535 maximize the final pixel area of the stream.<wbr>
7536<br>
7537<br> For example,<wbr> if the crop region is set to a 4:3 aspect
7538 ratio,<wbr> then 4:3 streams should use the exact crop
7539 region.<wbr> 16:9 streams should further crop vertically
7540 (letterbox).<wbr>
7541<br>
7542<br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7543 outputs should crop horizontally (pillarbox),<wbr> and 16:9
7544 streams should match exactly.<wbr> These additional crops must
7545 be centered within the crop region.<wbr>
7546<br>
7547<br> The output streams must maintain square pixels at all
7548 times,<wbr> no matter what the relative aspect ratios of the
7549 crop region and the stream are.<wbr> Negative values for
7550 corner are allowed for raw output if full pixel array is
7551 larger than active pixel array.<wbr> Width and height may be
7552 rounded to nearest larger supportable width,<wbr> especially
7553 for raw output,<wbr> where only a few fixed scales may be
7554 possible.<wbr> The width and height of the crop region cannot
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007555 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007556 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007557 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007558 respectively.<wbr>
7559
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007560 </td>
7561
7562 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007563 <ul class="entry_tags">
7564 <li><a href="#tag_BC">BC</a></li>
7565 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007566 </td>
7567
7568 </tr> <!-- end of entry -->
7569
7570
7571
7572 <!-- end of kind -->
7573 </tbody>
7574
7575 <!-- end of section -->
7576 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7577
7578
7579 <tr><td colspan="7" class="kind">controls</td></tr>
7580
7581 <thead>
7582 <tr>
7583 <th class="th_name">Property Name</th>
7584 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007585 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007586 <th class="th_description">Description</th>
7587 <th class="th_units">Units</th>
7588 <th class="th_range">Range</th>
7589 <th class="th_notes">Notes</th>
7590 <th class="th_tags">Tags</th>
7591 </tr>
7592 </thead>
7593
7594 <tbody>
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605 <tr class="entry" id="controls_android.sensor.exposureTime">
7606 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7607 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007608 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007609
7610
7611
7612
7613 </td> <!-- entry_type -->
7614
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007615 <td class="entry_visibility">public</td>
7616
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007617 <td class="entry_description">
7618 Duration each pixel is exposed to
7619 light
7620 </td>
7621
7622 <td class="entry_units">
7623 nanoseconds
7624 </td>
7625
7626 <td class="entry_range">
7627 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7628 </td>
7629
7630 <td class="entry_notes">
7631 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7632 </td>
7633
7634 <td class="entry_tags">
7635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007636 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007637 </ul>
7638 </td>
7639
7640 </tr> <!-- end of entry -->
7641
7642
7643 <tr class="entry" id="controls_android.sensor.frameDuration">
7644 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7645 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007646 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007647
7648
7649
7650
7651 </td> <!-- entry_type -->
7652
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007653 <td class="entry_visibility">public</td>
7654
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007655 <td class="entry_description">
7656 Duration from start of frame exposure to
7657 start of next frame exposure
7658 </td>
7659
7660 <td class="entry_units">
7661 nanoseconds
7662 </td>
7663
7664 <td class="entry_range">
7665 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7666 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7667 </td>
7668
7669 <td class="entry_notes">
7670 Exposure time has priority,<wbr> so duration is set to
7671 max(duration,<wbr> exposure time + overhead)
7672 </td>
7673
7674 <td class="entry_tags">
7675 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007676 <li><a href="#tag_V1">V1</a></li>
7677 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007678 </ul>
7679 </td>
7680
7681 </tr> <!-- end of entry -->
7682
7683
7684 <tr class="entry" id="controls_android.sensor.sensitivity">
7685 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7686 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007687 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007688
7689
7690
7691
7692 </td> <!-- entry_type -->
7693
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007694 <td class="entry_visibility">public</td>
7695
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007696 <td class="entry_description">
7697 Gain applied to image data.<wbr> Must be
7698 implemented through analog gain only if set to values
7699 below 'maximum analog sensitivity'.<wbr>
7700 </td>
7701
7702 <td class="entry_units">
7703 ISO arithmetic units
7704 </td>
7705
7706 <td class="entry_range">
7707 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7708 </td>
7709
7710 <td class="entry_notes">
7711 ISO 12232:2006 REI method
7712 </td>
7713
7714 <td class="entry_tags">
7715 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007716 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007717 </ul>
7718 </td>
7719
7720 </tr> <!-- end of entry -->
7721
7722
7723
7724 <!-- end of kind -->
7725 </tbody>
7726 <tr><td colspan="7" class="kind">static</td></tr>
7727
7728 <thead>
7729 <tr>
7730 <th class="th_name">Property Name</th>
7731 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007732 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007733 <th class="th_description">Description</th>
7734 <th class="th_units">Units</th>
7735 <th class="th_range">Range</th>
7736 <th class="th_notes">Notes</th>
7737 <th class="th_tags">Tags</th>
7738 </tr>
7739 </thead>
7740
7741 <tbody>
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7755 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7756 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007757 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007758 <span class="entry_type_container">x</span>
7759
7760 <span class="entry_type_array">
7761 4
7762 </span>
7763
7764 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7765
7766
7767 </td> <!-- entry_type -->
7768
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007769 <td class="entry_visibility">public</td>
7770
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007771 <td class="entry_description">
7772 Area of raw data which corresponds to only
7773 active pixels; smaller or equal to
7774 pixelArraySize.<wbr>
7775 </td>
7776
7777 <td class="entry_units">
7778 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7779 pixel array is (0,<wbr>0)
7780 </td>
7781
7782 <td class="entry_range">
7783 </td>
7784
7785 <td class="entry_notes">
7786 </td>
7787
7788 <td class="entry_tags">
7789 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007790 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007791 </ul>
7792 </td>
7793
7794 </tr> <!-- end of entry -->
7795
7796
7797 <tr class="entry" id="static_android.sensor.info.availableSensitivities">
7798 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>available<wbr>Sensitivities</td>
7799 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007800 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007801 <span class="entry_type_container">x</span>
7802
7803 <span class="entry_type_array">
7804 n
7805 </span>
7806
7807 <div class="entry_type_notes">List of supported sensitivity values</div>
7808
7809
7810 </td> <!-- entry_type -->
7811
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007812 <td class="entry_visibility">public</td>
7813
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007814 <td class="entry_description">
7815 Range of valid sensitivities
7816 </td>
7817
7818 <td class="entry_units">
7819 </td>
7820
7821 <td class="entry_range">
7822 Must at least include 100,<wbr> 200,<wbr> 400,<wbr> 800,<wbr>
7823 1600
7824 </td>
7825
7826 <td class="entry_notes">
7827 </td>
7828
7829 <td class="entry_tags">
7830 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007831 <li><a href="#tag_BC">BC</a></li>
7832 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007833 </ul>
7834 </td>
7835
7836 </tr> <!-- end of entry -->
7837
7838
7839 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7840 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7841 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007842 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007843
7844
7845
7846 <ul class="entry_type_enum">
7847 <li>
7848 <span class="entry_type_enum_name">RGGB</span>
7849 </li>
7850 <li>
7851 <span class="entry_type_enum_name">GRBG</span>
7852 </li>
7853 <li>
7854 <span class="entry_type_enum_name">GBRG</span>
7855 </li>
7856 <li>
7857 <span class="entry_type_enum_name">BGGR</span>
7858 </li>
7859 <li>
7860 <span class="entry_type_enum_name">RGB</span>
7861 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7862 values for each pixel,<wbr> instead of just 1 16-bit value
7863 per pixel.<wbr></span>
7864 </li>
7865 </ul>
7866
7867 </td> <!-- entry_type -->
7868
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007869 <td class="entry_visibility">system</td>
7870
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007871 <td class="entry_description">
7872 Arrangement of color filters on sensor;
7873 represents the colors in the top-left 2x2 section of
7874 the sensor,<wbr> in reading order
7875 </td>
7876
7877 <td class="entry_units">
7878 </td>
7879
7880 <td class="entry_range">
7881 </td>
7882
7883 <td class="entry_notes">
7884 </td>
7885
7886 <td class="entry_tags">
7887 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007888 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007889 </ul>
7890 </td>
7891
7892 </tr> <!-- end of entry -->
7893
7894
7895 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7896 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007898 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007899 <span class="entry_type_container">x</span>
7900
7901 <span class="entry_type_array">
7902 2
7903 </span>
7904
7905 <div class="entry_type_notes">nanoseconds</div>
7906
7907
7908 </td> <!-- entry_type -->
7909
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007910 <td class="entry_visibility">public</td>
7911
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 <td class="entry_description">
7913 Range of valid exposure
7914 times
7915 </td>
7916
7917 <td class="entry_units">
7918 </td>
7919
7920 <td class="entry_range">
7921 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
7922 sec)
7923 </td>
7924
7925 <td class="entry_notes">
7926 </td>
7927
7928 <td class="entry_tags">
7929 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007930 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007931 </ul>
7932 </td>
7933
7934 </tr> <!-- end of entry -->
7935
7936
7937 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
7938 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
7939 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007940 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007941
7942
7943
7944
7945 </td> <!-- entry_type -->
7946
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007947 <td class="entry_visibility">public</td>
7948
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007949 <td class="entry_description">
7950 Maximum frame duration (minimum frame
7951 rate)
7952 </td>
7953
7954 <td class="entry_units">
7955 nanoseconds
7956 </td>
7957
7958 <td class="entry_range">
7959 >= 30e9
7960 </td>
7961
7962 <td class="entry_notes">
7963 Minimum duration is a function of resolution,<wbr>
7964 processing settings.<wbr> See
7965 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7966 </td>
7967
7968 <td class="entry_tags">
7969 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007970 <li><a href="#tag_BC">BC</a></li>
7971 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007972 </ul>
7973 </td>
7974
7975 </tr> <!-- end of entry -->
7976
7977
7978 <tr class="entry" id="static_android.sensor.info.physicalSize">
7979 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
7980 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007981 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007982 <span class="entry_type_container">x</span>
7983
7984 <span class="entry_type_array">
7985 2
7986 </span>
7987
7988 <div class="entry_type_notes">width x height in millimeters</div>
7989
7990
7991 </td> <!-- entry_type -->
7992
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007993 <td class="entry_visibility">public</td>
7994
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007995 <td class="entry_description">
7996 The physical dimensions of the full pixel
7997 array
7998 </td>
7999
8000 <td class="entry_units">
8001 </td>
8002
8003 <td class="entry_range">
8004 </td>
8005
8006 <td class="entry_notes">
8007 Needed for FOV calculation for old API
8008 </td>
8009
8010 <td class="entry_tags">
8011 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008012 <li><a href="#tag_V1">V1</a></li>
8013 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008014 </ul>
8015 </td>
8016
8017 </tr> <!-- end of entry -->
8018
8019
8020 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8021 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8022 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008023 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008024 <span class="entry_type_container">x</span>
8025
8026 <span class="entry_type_array">
8027 2
8028 </span>
8029
8030
8031
8032 </td> <!-- entry_type -->
8033
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008034 <td class="entry_visibility">system</td>
8035
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008036 <td class="entry_description">
8037 Dimensions of full pixel array,<wbr> possibly
8038 including black calibration pixels
8039 </td>
8040
8041 <td class="entry_units">
8042 </td>
8043
8044 <td class="entry_range">
8045 </td>
8046
8047 <td class="entry_notes">
8048 Maximum output resolution for raw format must
8049 match this in
8050 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
8051 </td>
8052
8053 <td class="entry_tags">
8054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008055 <li><a href="#tag_DNG">DNG</a></li>
8056 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008057 </ul>
8058 </td>
8059
8060 </tr> <!-- end of entry -->
8061
8062
8063 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8064 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8065 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008066 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008067
8068
8069
8070
8071 </td> <!-- entry_type -->
8072
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008073 <td class="entry_visibility">system</td>
8074
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008075 <td class="entry_description">
8076 Maximum raw value output by
8077 sensor
8078 </td>
8079
8080 <td class="entry_units">
8081 </td>
8082
8083 <td class="entry_range">
8084 > 1024 (10-bit output)
8085 </td>
8086
8087 <td class="entry_notes">
8088 Defines sensor bit depth (10-14 bits is
8089 expected)
8090 </td>
8091
8092 <td class="entry_tags">
8093 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008094 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008095 </ul>
8096 </td>
8097
8098 </tr> <!-- end of entry -->
8099
8100
8101
8102
8103
8104 <tr class="entry" id="static_android.sensor.baseGainFactor">
8105 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8106 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008107 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008108
8109
8110
8111
8112 </td> <!-- entry_type -->
8113
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008114 <td class="entry_visibility">public</td>
8115
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008116 <td class="entry_description">
8117 Gain factor from electrons to raw units when
8118 ISO=100
8119 </td>
8120
8121 <td class="entry_units">
8122 </td>
8123
8124 <td class="entry_range">
8125 </td>
8126
8127 <td class="entry_notes">
8128 </td>
8129
8130 <td class="entry_tags">
8131 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008132 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008133 </ul>
8134 </td>
8135
8136 </tr> <!-- end of entry -->
8137
8138
8139 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8140 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8141 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008142 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008143 <span class="entry_type_container">x</span>
8144
8145 <span class="entry_type_array">
8146 4
8147 </span>
8148
8149 <div class="entry_type_notes">2x2 raw count block</div>
8150
8151
8152 </td> <!-- entry_type -->
8153
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008154 <td class="entry_visibility">system</td>
8155
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008156 <td class="entry_description">
8157 A fixed black level offset for each of the
8158 Bayer mosaic channels
8159 </td>
8160
8161 <td class="entry_units">
8162 </td>
8163
8164 <td class="entry_range">
8165 >= 0 each
8166 </td>
8167
8168 <td class="entry_notes">
8169 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8170 tags
8171 </td>
8172
8173 <td class="entry_tags">
8174 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008175 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008176 </ul>
8177 </td>
8178
8179 </tr> <!-- end of entry -->
8180
8181
8182 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8183 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8184 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008185 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008186 <span class="entry_type_container">x</span>
8187
8188 <span class="entry_type_array">
8189 9
8190 </span>
8191
8192 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8193
8194
8195 </td> <!-- entry_type -->
8196
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008197 <td class="entry_visibility">system</td>
8198
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008199 <td class="entry_description">
8200 Per-device calibration on top of color space
8201 transform 1
8202 </td>
8203
8204 <td class="entry_units">
8205 </td>
8206
8207 <td class="entry_range">
8208 </td>
8209
8210 <td class="entry_notes">
8211 </td>
8212
8213 <td class="entry_tags">
8214 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008215 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008216 </ul>
8217 </td>
8218
8219 </tr> <!-- end of entry -->
8220
8221
8222 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8223 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8224 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008225 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008226 <span class="entry_type_container">x</span>
8227
8228 <span class="entry_type_array">
8229 9
8230 </span>
8231
8232 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8233
8234
8235 </td> <!-- entry_type -->
8236
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008237 <td class="entry_visibility">system</td>
8238
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008239 <td class="entry_description">
8240 Per-device calibration on top of color space
8241 transform 2
8242 </td>
8243
8244 <td class="entry_units">
8245 </td>
8246
8247 <td class="entry_range">
8248 </td>
8249
8250 <td class="entry_notes">
8251 </td>
8252
8253 <td class="entry_tags">
8254 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008255 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008256 </ul>
8257 </td>
8258
8259 </tr> <!-- end of entry -->
8260
8261
8262 <tr class="entry" id="static_android.sensor.colorTransform1">
8263 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8264 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008265 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008266 <span class="entry_type_container">x</span>
8267
8268 <span class="entry_type_array">
8269 9
8270 </span>
8271
8272 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8273
8274
8275 </td> <!-- entry_type -->
8276
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008277 <td class="entry_visibility">system</td>
8278
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008279 <td class="entry_description">
8280 Linear mapping from XYZ (D50) color space to
8281 reference linear sensor color,<wbr> for first reference
8282 illuminant
8283 </td>
8284
8285 <td class="entry_units">
8286 </td>
8287
8288 <td class="entry_range">
8289 </td>
8290
8291 <td class="entry_notes">
8292 Use as follows XYZ = inv(transform) * clip( (raw -
8293 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8294 At least in the simple case
8295 </td>
8296
8297 <td class="entry_tags">
8298 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008299 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008300 </ul>
8301 </td>
8302
8303 </tr> <!-- end of entry -->
8304
8305
8306 <tr class="entry" id="static_android.sensor.colorTransform2">
8307 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8308 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008309 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008310 <span class="entry_type_container">x</span>
8311
8312 <span class="entry_type_array">
8313 9
8314 </span>
8315
8316 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8317
8318
8319 </td> <!-- entry_type -->
8320
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008321 <td class="entry_visibility">system</td>
8322
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008323 <td class="entry_description">
8324 Linear mapping from XYZ (D50) color space to
8325 reference linear sensor color,<wbr> for second reference
8326 illuminant
8327 </td>
8328
8329 <td class="entry_units">
8330 </td>
8331
8332 <td class="entry_range">
8333 </td>
8334
8335 <td class="entry_notes">
8336 </td>
8337
8338 <td class="entry_tags">
8339 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008340 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008341 </ul>
8342 </td>
8343
8344 </tr> <!-- end of entry -->
8345
8346
8347 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8348 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8349 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008350 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008351 <span class="entry_type_container">x</span>
8352
8353 <span class="entry_type_array">
8354 9
8355 </span>
8356
8357 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8358
8359
8360 </td> <!-- entry_type -->
8361
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008362 <td class="entry_visibility">system</td>
8363
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008364 <td class="entry_description">
8365 Used by DNG for better WB
8366 adaptation
8367 </td>
8368
8369 <td class="entry_units">
8370 </td>
8371
8372 <td class="entry_range">
8373 </td>
8374
8375 <td class="entry_notes">
8376 </td>
8377
8378 <td class="entry_tags">
8379 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008380 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008381 </ul>
8382 </td>
8383
8384 </tr> <!-- end of entry -->
8385
8386
8387 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8388 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8389 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008390 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008391 <span class="entry_type_container">x</span>
8392
8393 <span class="entry_type_array">
8394 9
8395 </span>
8396
8397 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8398
8399
8400 </td> <!-- entry_type -->
8401
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008402 <td class="entry_visibility">system</td>
8403
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008404 <td class="entry_description">
8405 Used by DNG for better WB
8406 adaptation
8407 </td>
8408
8409 <td class="entry_units">
8410 </td>
8411
8412 <td class="entry_range">
8413 </td>
8414
8415 <td class="entry_notes">
8416 </td>
8417
8418 <td class="entry_tags">
8419 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008420 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008421 </ul>
8422 </td>
8423
8424 </tr> <!-- end of entry -->
8425
8426
8427 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8428 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8429 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008430 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008431
8432
8433
8434
8435 </td> <!-- entry_type -->
8436
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008437 <td class="entry_visibility">public</td>
8438
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008439 <td class="entry_description">
8440 Maximum sensitivity that is implemented
8441 purely through analog gain
8442 </td>
8443
8444 <td class="entry_units">
8445 </td>
8446
8447 <td class="entry_range">
8448 </td>
8449
8450 <td class="entry_notes">
8451 For android.<wbr>sensor.<wbr>sensitivity values less than or
8452 equal to this,<wbr> all applied gain must be analog.<wbr> For
8453 values above this,<wbr> it can be a mix of analog and
8454 digital
8455 </td>
8456
8457 <td class="entry_tags">
8458 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008459 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008460 </ul>
8461 </td>
8462
8463 </tr> <!-- end of entry -->
8464
8465
8466 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8467 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8468 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008469 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008470 <span class="entry_type_container">x</span>
8471
8472 <span class="entry_type_array">
8473 2
8474 </span>
8475
8476 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8477
8478
8479 </td> <!-- entry_type -->
8480
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008481 <td class="entry_visibility">system</td>
8482
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008483 <td class="entry_description">
8484 Estimation of sensor noise
8485 characteristics
8486 </td>
8487
8488 <td class="entry_units">
8489 var(raw pixel value) = electrons * (baseGainFactor
8490 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8491 B
8492 </td>
8493
8494 <td class="entry_range">
8495 </td>
8496
8497 <td class="entry_notes">
8498 A represents sensor read noise before analog
8499 amplification; B represents noise from A/<wbr>D conversion and
8500 other circuits after amplification.<wbr> Both noise sources
8501 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8502 across the sensor
8503 </td>
8504
8505 <td class="entry_tags">
8506 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008507 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008508 </ul>
8509 </td>
8510
8511 </tr> <!-- end of entry -->
8512
8513
8514 <tr class="entry" id="static_android.sensor.orientation">
8515 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8516 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008517 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008518
8519
8520
8521
8522 </td> <!-- entry_type -->
8523
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008524 <td class="entry_visibility">public</td>
8525
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008526 <td class="entry_description">
8527 Clockwise angle through which the output
8528 image needs to be rotated to be upright on the device
8529 screen in its native orientation.<wbr> Also defines the
8530 direction of rolling shutter readout,<wbr> which is from top
8531 to bottom in the sensor's coordinate system
8532 </td>
8533
8534 <td class="entry_units">
8535 degrees clockwise rotation,<wbr> only multiples of
8536 90
8537 </td>
8538
8539 <td class="entry_range">
8540 0,<wbr>90,<wbr>180,<wbr>270
8541 </td>
8542
8543 <td class="entry_notes">
8544 </td>
8545
8546 <td class="entry_tags">
8547 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008548 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008549 </ul>
8550 </td>
8551
8552 </tr> <!-- end of entry -->
8553
8554
8555 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8556 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8557 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008558 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008559
8560
8561
8562 <ul class="entry_type_enum">
8563 <li>
8564 <span class="entry_type_enum_name">DAYLIGHT</span>
8565 <span class="entry_type_enum_value">1</span>
8566 </li>
8567 <li>
8568 <span class="entry_type_enum_name">FLUORESCENT</span>
8569 <span class="entry_type_enum_value">2</span>
8570 </li>
8571 <li>
8572 <span class="entry_type_enum_name">TUNGSTEN</span>
8573 <span class="entry_type_enum_value">3</span>
8574 <span class="entry_type_enum_notes">Incandescent light</span>
8575 </li>
8576 <li>
8577 <span class="entry_type_enum_name">FLASH</span>
8578 <span class="entry_type_enum_value">4</span>
8579 </li>
8580 <li>
8581 <span class="entry_type_enum_name">FINE_WEATHER</span>
8582 <span class="entry_type_enum_value">9</span>
8583 </li>
8584 <li>
8585 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8586 <span class="entry_type_enum_value">10</span>
8587 </li>
8588 <li>
8589 <span class="entry_type_enum_name">SHADE</span>
8590 <span class="entry_type_enum_value">11</span>
8591 </li>
8592 <li>
8593 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8594 <span class="entry_type_enum_value">12</span>
8595 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8596 </li>
8597 <li>
8598 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8599 <span class="entry_type_enum_value">13</span>
8600 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8601 </li>
8602 <li>
8603 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8604 <span class="entry_type_enum_value">14</span>
8605 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8606 </li>
8607 <li>
8608 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8609 <span class="entry_type_enum_value">15</span>
8610 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8611 </li>
8612 <li>
8613 <span class="entry_type_enum_name">STANDARD_A</span>
8614 <span class="entry_type_enum_value">17</span>
8615 </li>
8616 <li>
8617 <span class="entry_type_enum_name">STANDARD_B</span>
8618 <span class="entry_type_enum_value">18</span>
8619 </li>
8620 <li>
8621 <span class="entry_type_enum_name">STANDARD_C</span>
8622 <span class="entry_type_enum_value">19</span>
8623 </li>
8624 <li>
8625 <span class="entry_type_enum_name">D55</span>
8626 <span class="entry_type_enum_value">20</span>
8627 </li>
8628 <li>
8629 <span class="entry_type_enum_name">D65</span>
8630 <span class="entry_type_enum_value">21</span>
8631 </li>
8632 <li>
8633 <span class="entry_type_enum_name">D75</span>
8634 <span class="entry_type_enum_value">22</span>
8635 </li>
8636 <li>
8637 <span class="entry_type_enum_name">D50</span>
8638 <span class="entry_type_enum_value">23</span>
8639 </li>
8640 <li>
8641 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8642 <span class="entry_type_enum_value">24</span>
8643 </li>
8644 </ul>
8645
8646 </td> <!-- entry_type -->
8647
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008648 <td class="entry_visibility">system</td>
8649
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008650 <td class="entry_description">
8651 Light source used to define transform
8652 1
8653 </td>
8654
8655 <td class="entry_units">
8656 </td>
8657
8658 <td class="entry_range">
8659 </td>
8660
8661 <td class="entry_notes">
8662 [EXIF LightSource tag] Must all these be
8663 supported? Need CCT for each!
8664 </td>
8665
8666 <td class="entry_tags">
8667 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008668 <li><a href="#tag_DNG">DNG</a></li>
8669 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008670 </ul>
8671 </td>
8672
8673 </tr> <!-- end of entry -->
8674
8675
8676 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8677 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008679 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008680
8681
8682
8683
8684 </td> <!-- entry_type -->
8685
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008686 <td class="entry_visibility">system</td>
8687
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008688 <td class="entry_description">
8689 Light source used to define transform
8690 2
8691 </td>
8692
8693 <td class="entry_units">
8694 Same as illuminant 1
8695 </td>
8696
8697 <td class="entry_range">
8698 </td>
8699
8700 <td class="entry_notes">
8701 </td>
8702
8703 <td class="entry_tags">
8704 </td>
8705
8706 </tr> <!-- end of entry -->
8707
8708
8709
8710 <!-- end of kind -->
8711 </tbody>
8712 <tr><td colspan="7" class="kind">dynamic</td></tr>
8713
8714 <thead>
8715 <tr>
8716 <th class="th_name">Property Name</th>
8717 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008718 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008719 <th class="th_description">Description</th>
8720 <th class="th_units">Units</th>
8721 <th class="th_range">Range</th>
8722 <th class="th_notes">Notes</th>
8723 <th class="th_tags">Tags</th>
8724 </tr>
8725 </thead>
8726
8727 <tbody>
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8739 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8740 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008741 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008742
8743
8744
8745
8746 </td> <!-- entry_type -->
8747
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008748 <td class="entry_visibility">public</td>
8749
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008750 <td class="entry_description">
8751 Duration each pixel is exposed to
8752 light
8753 </td>
8754
8755 <td class="entry_units">
8756 nanoseconds
8757 </td>
8758
8759 <td class="entry_range">
8760 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8761 </td>
8762
8763 <td class="entry_notes">
8764 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8765 </td>
8766
8767 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008768 <ul class="entry_tags">
8769 <li><a href="#tag_V1">V1</a></li>
8770 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008771 </td>
8772
8773 </tr> <!-- end of entry -->
8774
8775
8776 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8777 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8778 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008779 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008780
8781
8782
8783
8784 </td> <!-- entry_type -->
8785
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008786 <td class="entry_visibility">public</td>
8787
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008788 <td class="entry_description">
8789 Duration from start of frame exposure to
8790 start of next frame exposure
8791 </td>
8792
8793 <td class="entry_units">
8794 nanoseconds
8795 </td>
8796
8797 <td class="entry_range">
8798 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8799 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8800 </td>
8801
8802 <td class="entry_notes">
8803 Exposure time has priority,<wbr> so duration is set to
8804 max(duration,<wbr> exposure time + overhead)
8805 </td>
8806
8807 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008808 <ul class="entry_tags">
8809 <li><a href="#tag_V1">V1</a></li>
8810 <li><a href="#tag_BC">BC</a></li>
8811 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008812 </td>
8813
8814 </tr> <!-- end of entry -->
8815
8816
8817 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8818 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8819 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008820 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008821
8822
8823
8824
8825 </td> <!-- entry_type -->
8826
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008827 <td class="entry_visibility">public</td>
8828
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008829 <td class="entry_description">
8830 Gain applied to image data.<wbr> Must be
8831 implemented through analog gain only if set to values
8832 below 'maximum analog sensitivity'.<wbr>
8833 </td>
8834
8835 <td class="entry_units">
8836 ISO arithmetic units
8837 </td>
8838
8839 <td class="entry_range">
8840 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8841 </td>
8842
8843 <td class="entry_notes">
8844 ISO 12232:2006 REI method
8845 </td>
8846
8847 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008848 <ul class="entry_tags">
8849 <li><a href="#tag_V1">V1</a></li>
8850 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008851 </td>
8852
8853 </tr> <!-- end of entry -->
8854
8855
8856 <tr class="entry" id="dynamic_android.sensor.timestamp">
8857 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8858 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008859 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008860
8861
8862
8863
8864 </td> <!-- entry_type -->
8865
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008866 <td class="entry_visibility">public</td>
8867
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008868 <td class="entry_description">
8869 Time at start of exposure of first
8870 row
8871 </td>
8872
8873 <td class="entry_units">
8874 nanoseconds
8875 </td>
8876
8877 <td class="entry_range">
8878 > 0
8879 </td>
8880
8881 <td class="entry_notes">
8882 Monotonic,<wbr> should be synced to other timestamps in
8883 system
8884 </td>
8885
8886 <td class="entry_tags">
8887 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008888 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008889 </ul>
8890 </td>
8891
8892 </tr> <!-- end of entry -->
8893
8894
8895
8896 <!-- end of kind -->
8897 </tbody>
8898
8899 <!-- end of section -->
8900 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
8901
8902
8903 <tr><td colspan="7" class="kind">controls</td></tr>
8904
8905 <thead>
8906 <tr>
8907 <th class="th_name">Property Name</th>
8908 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008909 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008910 <th class="th_description">Description</th>
8911 <th class="th_units">Units</th>
8912 <th class="th_range">Range</th>
8913 <th class="th_notes">Notes</th>
8914 <th class="th_tags">Tags</th>
8915 </tr>
8916 </thead>
8917
8918 <tbody>
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929 <tr class="entry" id="controls_android.shading.mode">
8930 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8931 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008932 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008933
8934
8935
8936 <ul class="entry_type_enum">
8937 <li>
8938 <span class="entry_type_enum_name">OFF</span>
8939 <span class="entry_type_enum_notes">No shading correction is applied</span>
8940 </li>
8941 <li>
8942 <span class="entry_type_enum_name">FAST</span>
8943 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8944 bayer output</span>
8945 </li>
8946 <li>
8947 <span class="entry_type_enum_name">HIGH_QUALITY</span>
8948 <span class="entry_type_enum_notes">Frame rate may be reduced by high
8949 quality</span>
8950 </li>
8951 </ul>
8952
8953 </td> <!-- entry_type -->
8954
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008955 <td class="entry_visibility">system</td>
8956
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008957 <td class="entry_description">
8958 Quality of lens shading correction applied
8959 to the image data
8960 </td>
8961
8962 <td class="entry_units">
8963 </td>
8964
8965 <td class="entry_range">
8966 </td>
8967
8968 <td class="entry_notes">
8969 </td>
8970
8971 <td class="entry_tags">
8972 </td>
8973
8974 </tr> <!-- end of entry -->
8975
8976
8977 <tr class="entry" id="controls_android.shading.strength">
8978 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
8979 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008980 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981
8982
8983
8984
8985 </td> <!-- entry_type -->
8986
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07008987 <td class="entry_visibility">system</td>
8988
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008989 <td class="entry_description">
8990 Control the amount of shading correction
8991 applied to the images
8992 </td>
8993
8994 <td class="entry_units">
8995 unitless: 1-10; 10 is full shading
8996 compensation
8997 </td>
8998
8999 <td class="entry_range">
9000 </td>
9001
9002 <td class="entry_notes">
9003 </td>
9004
9005 <td class="entry_tags">
9006 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009007 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009008 </ul>
9009 </td>
9010
9011 </tr> <!-- end of entry -->
9012
9013
9014
9015 <!-- end of kind -->
9016 </tbody>
9017 <tr><td colspan="7" class="kind">dynamic</td></tr>
9018
9019 <thead>
9020 <tr>
9021 <th class="th_name">Property Name</th>
9022 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009023 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009024 <th class="th_description">Description</th>
9025 <th class="th_units">Units</th>
9026 <th class="th_range">Range</th>
9027 <th class="th_notes">Notes</th>
9028 <th class="th_tags">Tags</th>
9029 </tr>
9030 </thead>
9031
9032 <tbody>
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043 <tr class="entry" id="dynamic_android.shading.mode">
9044 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9045 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009046 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009047
9048
9049
9050 <ul class="entry_type_enum">
9051 <li>
9052 <span class="entry_type_enum_name">OFF</span>
9053 <span class="entry_type_enum_notes">No shading correction is applied</span>
9054 </li>
9055 <li>
9056 <span class="entry_type_enum_name">FAST</span>
9057 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9058 bayer output</span>
9059 </li>
9060 <li>
9061 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9062 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9063 quality</span>
9064 </li>
9065 </ul>
9066
9067 </td> <!-- entry_type -->
9068
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009069 <td class="entry_visibility">system</td>
9070
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009071 <td class="entry_description">
9072 Quality of lens shading correction applied
9073 to the image data
9074 </td>
9075
9076 <td class="entry_units">
9077 </td>
9078
9079 <td class="entry_range">
9080 </td>
9081
9082 <td class="entry_notes">
9083 </td>
9084
9085 <td class="entry_tags">
9086 </td>
9087
9088 </tr> <!-- end of entry -->
9089
9090
9091
9092 <!-- end of kind -->
9093 </tbody>
9094
9095 <!-- end of section -->
9096 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9097
9098
9099 <tr><td colspan="7" class="kind">controls</td></tr>
9100
9101 <thead>
9102 <tr>
9103 <th class="th_name">Property Name</th>
9104 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009105 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009106 <th class="th_description">Description</th>
9107 <th class="th_units">Units</th>
9108 <th class="th_range">Range</th>
9109 <th class="th_notes">Notes</th>
9110 <th class="th_tags">Tags</th>
9111 </tr>
9112 </thead>
9113
9114 <tbody>
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9126 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9127 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009128 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009129
9130
9131
9132 <ul class="entry_type_enum">
9133 <li>
9134 <span class="entry_type_enum_name">OFF</span>
9135 </li>
9136 <li>
9137 <span class="entry_type_enum_name">SIMPLE</span>
9138 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9139 only</span>
9140 </li>
9141 <li>
9142 <span class="entry_type_enum_name">FULL</span>
9143 <span class="entry_type_enum_notes">Optional Return all face
9144 metadata</span>
9145 </li>
9146 </ul>
9147
9148 </td> <!-- entry_type -->
9149
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009150 <td class="entry_visibility">public</td>
9151
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009152 <td class="entry_description">
9153 State of the face detector
9154 unit
9155 </td>
9156
9157 <td class="entry_units">
9158 </td>
9159
9160 <td class="entry_range">
9161
9162 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
9163 </td>
9164
9165 <td class="entry_notes">
9166 </td>
9167
9168 <td class="entry_tags">
9169 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009170 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009171 </ul>
9172 </td>
9173
9174 </tr> <!-- end of entry -->
9175
9176
9177 <tr class="entry" id="controls_android.statistics.histogramMode">
9178 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9179 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009180 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009181
9182
9183
9184 <ul class="entry_type_enum">
9185 <li>
9186 <span class="entry_type_enum_name">OFF</span>
9187 </li>
9188 <li>
9189 <span class="entry_type_enum_name">ON</span>
9190 </li>
9191 </ul>
9192
9193 </td> <!-- entry_type -->
9194
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009195 <td class="entry_visibility">system</td>
9196
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009197 <td class="entry_description">
9198 Operating mode for histogram
9199 generation
9200 </td>
9201
9202 <td class="entry_units">
9203 </td>
9204
9205 <td class="entry_range">
9206 </td>
9207
9208 <td class="entry_notes">
9209 </td>
9210
9211 <td class="entry_tags">
9212 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009213 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009214 </ul>
9215 </td>
9216
9217 </tr> <!-- end of entry -->
9218
9219
9220 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9221 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9222 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009223 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009224
9225
9226
9227 <ul class="entry_type_enum">
9228 <li>
9229 <span class="entry_type_enum_name">OFF</span>
9230 </li>
9231 <li>
9232 <span class="entry_type_enum_name">ON</span>
9233 </li>
9234 </ul>
9235
9236 </td> <!-- entry_type -->
9237
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009238 <td class="entry_visibility">system</td>
9239
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009240 <td class="entry_description">
9241 Operating mode for sharpness map
9242 generation
9243 </td>
9244
9245 <td class="entry_units">
9246 </td>
9247
9248 <td class="entry_range">
9249 </td>
9250
9251 <td class="entry_notes">
9252 </td>
9253
9254 <td class="entry_tags">
9255 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009256 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009257 </ul>
9258 </td>
9259
9260 </tr> <!-- end of entry -->
9261
9262
9263
9264 <!-- end of kind -->
9265 </tbody>
9266 <tr><td colspan="7" class="kind">static</td></tr>
9267
9268 <thead>
9269 <tr>
9270 <th class="th_name">Property Name</th>
9271 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009272 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009273 <th class="th_description">Description</th>
9274 <th class="th_units">Units</th>
9275 <th class="th_range">Range</th>
9276 <th class="th_notes">Notes</th>
9277 <th class="th_tags">Tags</th>
9278 </tr>
9279 </thead>
9280
9281 <tbody>
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9295 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9296 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009297 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298 <span class="entry_type_container">x</span>
9299
9300 <span class="entry_type_array">
9301 n
9302 </span>
9303
9304 <div class="entry_type_notes">List of enums</div>
9305
9306
9307 </td> <!-- entry_type -->
9308
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009309 <td class="entry_visibility">public</td>
9310
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009311 <td class="entry_description">
9312 Which face detection modes are available,<wbr>
9313 if any
9314 </td>
9315
9316 <td class="entry_units">
9317 </td>
9318
9319 <td class="entry_range">
9320 OFF
9321 </td>
9322
9323 <td class="entry_notes">
9324 </td>
9325
9326 <td class="entry_tags">
9327 </td>
9328
9329 </tr> <!-- end of entry -->
9330
9331
9332 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9333 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9334 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009335 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009336
9337
9338
9339
9340 </td> <!-- entry_type -->
9341
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009342 <td class="entry_visibility">system</td>
9343
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009344 <td class="entry_description">
9345 Number of histogram buckets
9346 supported
9347 </td>
9348
9349 <td class="entry_units">
9350 </td>
9351
9352 <td class="entry_range">
9353 >= 64
9354 </td>
9355
9356 <td class="entry_notes">
9357 </td>
9358
9359 <td class="entry_tags">
9360 </td>
9361
9362 </tr> <!-- end of entry -->
9363
9364
9365 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9366 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9367 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009368 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009369
9370
9371
9372
9373 </td> <!-- entry_type -->
9374
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009375 <td class="entry_visibility">public</td>
9376
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009377 <td class="entry_description">
9378 If face detection is supported,<wbr> how many
9379 faces can be detected at once
9380 </td>
9381
9382 <td class="entry_units">
9383 </td>
9384
9385 <td class="entry_range">
9386 >= 4 if availableFaceDetectionModes lists
9387 modes besides OFF,<wbr> otherwise 0
9388 </td>
9389
9390 <td class="entry_notes">
9391 </td>
9392
9393 <td class="entry_tags">
9394 </td>
9395
9396 </tr> <!-- end of entry -->
9397
9398
9399 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9400 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9401 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009402 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009403
9404
9405
9406
9407 </td> <!-- entry_type -->
9408
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009409 <td class="entry_visibility">system</td>
9410
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009411 <td class="entry_description">
9412 Maximum value possible for a histogram
9413 bucket
9414 </td>
9415
9416 <td class="entry_units">
9417 </td>
9418
9419 <td class="entry_range">
9420 </td>
9421
9422 <td class="entry_notes">
9423 </td>
9424
9425 <td class="entry_tags">
9426 </td>
9427
9428 </tr> <!-- end of entry -->
9429
9430
9431 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9432 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9433 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009434 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009435
9436
9437
9438
9439 </td> <!-- entry_type -->
9440
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009441 <td class="entry_visibility">system</td>
9442
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009443 <td class="entry_description">
9444 Maximum value possible for a sharpness map
9445 region.<wbr>
9446 </td>
9447
9448 <td class="entry_units">
9449 </td>
9450
9451 <td class="entry_range">
9452 </td>
9453
9454 <td class="entry_notes">
9455 </td>
9456
9457 <td class="entry_tags">
9458 </td>
9459
9460 </tr> <!-- end of entry -->
9461
9462
9463 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9464 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9465 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009466 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009467 <span class="entry_type_container">x</span>
9468
9469 <span class="entry_type_array">
9470 2
9471 </span>
9472
9473 <div class="entry_type_notes">width x height</div>
9474
9475
9476 </td> <!-- entry_type -->
9477
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009478 <td class="entry_visibility">system</td>
9479
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009480 <td class="entry_description">
9481 Dimensions of the sharpness
9482 map
9483 </td>
9484
9485 <td class="entry_units">
9486 </td>
9487
9488 <td class="entry_range">
9489 Must be at least 32 x 32
9490 </td>
9491
9492 <td class="entry_notes">
9493 </td>
9494
9495 <td class="entry_tags">
9496 </td>
9497
9498 </tr> <!-- end of entry -->
9499
9500
9501
9502
9503
9504
9505 <!-- end of kind -->
9506 </tbody>
9507 <tr><td colspan="7" class="kind">dynamic</td></tr>
9508
9509 <thead>
9510 <tr>
9511 <th class="th_name">Property Name</th>
9512 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009513 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009514 <th class="th_description">Description</th>
9515 <th class="th_units">Units</th>
9516 <th class="th_range">Range</th>
9517 <th class="th_notes">Notes</th>
9518 <th class="th_tags">Tags</th>
9519 </tr>
9520 </thead>
9521
9522 <tbody>
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9534 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9535 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009536 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009537
9538
9539
9540 <ul class="entry_type_enum">
9541 <li>
9542 <span class="entry_type_enum_name">OFF</span>
9543 </li>
9544 <li>
9545 <span class="entry_type_enum_name">SIMPLE</span>
9546 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9547 only</span>
9548 </li>
9549 <li>
9550 <span class="entry_type_enum_name">FULL</span>
9551 <span class="entry_type_enum_notes">Optional Return all face
9552 metadata</span>
9553 </li>
9554 </ul>
9555
9556 </td> <!-- entry_type -->
9557
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009558 <td class="entry_visibility">public</td>
9559
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009560 <td class="entry_description">
9561 State of the face detector
9562 unit
9563 </td>
9564
9565 <td class="entry_units">
9566 </td>
9567
9568 <td class="entry_range">
9569
9570 android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
9571 </td>
9572
9573 <td class="entry_notes">
9574 </td>
9575
9576 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009577 <ul class="entry_tags">
9578 <li><a href="#tag_BC">BC</a></li>
9579 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580 </td>
9581
9582 </tr> <!-- end of entry -->
9583
9584
9585 <tr class="entry" id="dynamic_android.statistics.faceIds">
9586 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9587 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009588 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009589 <span class="entry_type_container">x</span>
9590
9591 <span class="entry_type_array">
9592 n
9593 </span>
9594
9595
9596
9597 </td> <!-- entry_type -->
9598
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009599 <td class="entry_visibility">public</td>
9600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009601 <td class="entry_description">
9602 List of unique IDs for detected
9603 faces
9604 </td>
9605
9606 <td class="entry_units">
9607 </td>
9608
9609 <td class="entry_range">
9610 </td>
9611
9612 <td class="entry_notes">
9613 Only available if faceDetectMode == FULL
9614 </td>
9615
9616 <td class="entry_tags">
9617 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009618 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009619 </ul>
9620 </td>
9621
9622 </tr> <!-- end of entry -->
9623
9624
9625 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9626 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9627 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009628 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009629 <span class="entry_type_container">x</span>
9630
9631 <span class="entry_type_array">
9632 n x 6
9633 </span>
9634
9635 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9636
9637
9638 </td> <!-- entry_type -->
9639
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009640 <td class="entry_visibility">public</td>
9641
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009642 <td class="entry_description">
9643 List of landmarks for detected
9644 faces
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 Only available if faceDetectMode == FULL
9655 </td>
9656
9657 <td class="entry_tags">
9658 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009659 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009660 </ul>
9661 </td>
9662
9663 </tr> <!-- end of entry -->
9664
9665
9666 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9667 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9668 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009669 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009670 <span class="entry_type_container">x</span>
9671
9672 <span class="entry_type_array">
9673 n x 4
9674 </span>
9675
9676 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9677
9678
9679 </td> <!-- entry_type -->
9680
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009681 <td class="entry_visibility">public</td>
9682
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009683 <td class="entry_description">
9684 List of the bounding rectangles for detected
9685 faces
9686 </td>
9687
9688 <td class="entry_units">
9689 </td>
9690
9691 <td class="entry_range">
9692 </td>
9693
9694 <td class="entry_notes">
9695 Only available if faceDetectMode != OFF
9696 </td>
9697
9698 <td class="entry_tags">
9699 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009700 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009701 </ul>
9702 </td>
9703
9704 </tr> <!-- end of entry -->
9705
9706
9707 <tr class="entry" id="dynamic_android.statistics.faceScores">
9708 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9709 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009710 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009711 <span class="entry_type_container">x</span>
9712
9713 <span class="entry_type_array">
9714 n
9715 </span>
9716
9717
9718
9719 </td> <!-- entry_type -->
9720
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009721 <td class="entry_visibility">public</td>
9722
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009723 <td class="entry_description">
9724 List of the face confidence scores for
9725 detected faces
9726 </td>
9727
9728 <td class="entry_units">
9729 </td>
9730
9731 <td class="entry_range">
9732 0-100
9733 </td>
9734
9735 <td class="entry_notes">
9736 Only available if faceDetectMode != OFF
9737 </td>
9738
9739 <td class="entry_tags">
9740 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009741 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009742 </ul>
9743 </td>
9744
9745 </tr> <!-- end of entry -->
9746
9747
9748 <tr class="entry" id="dynamic_android.statistics.histogram">
9749 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9750 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009751 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009752 <span class="entry_type_container">x</span>
9753
9754 <span class="entry_type_array">
9755 n x 3
9756 </span>
9757
9758 <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>
9759
9760
9761 </td> <!-- entry_type -->
9762
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009763 <td class="entry_visibility">system</td>
9764
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009765 <td class="entry_description">
9766 A 3-channel histogram based on the raw
9767 sensor data
9768 </td>
9769
9770 <td class="entry_units">
9771 </td>
9772
9773 <td class="entry_range">
9774 </td>
9775
9776 <td class="entry_notes">
9777 The k'th bucket (0-based) covers the input range
9778 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9779 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9780 supported,<wbr> all channels should have the same data
9781 </td>
9782
9783 <td class="entry_tags">
9784 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009785 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009786 </ul>
9787 </td>
9788
9789 </tr> <!-- end of entry -->
9790
9791
9792 <tr class="entry" id="dynamic_android.statistics.histogramMode">
9793 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9794 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009795 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009796
9797
9798
9799 <ul class="entry_type_enum">
9800 <li>
9801 <span class="entry_type_enum_name">OFF</span>
9802 </li>
9803 <li>
9804 <span class="entry_type_enum_name">ON</span>
9805 </li>
9806 </ul>
9807
9808 </td> <!-- entry_type -->
9809
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009810 <td class="entry_visibility">system</td>
9811
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009812 <td class="entry_description">
9813 Operating mode for histogram
9814 generation
9815 </td>
9816
9817 <td class="entry_units">
9818 </td>
9819
9820 <td class="entry_range">
9821 </td>
9822
9823 <td class="entry_notes">
9824 </td>
9825
9826 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009827 <ul class="entry_tags">
9828 <li><a href="#tag_V1">V1</a></li>
9829 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009830 </td>
9831
9832 </tr> <!-- end of entry -->
9833
9834
9835 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9836 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009838 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009839 <span class="entry_type_container">x</span>
9840
9841 <span class="entry_type_array">
9842 n x m x 3
9843 </span>
9844
9845 <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>
9846
9847
9848 </td> <!-- entry_type -->
9849
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009850 <td class="entry_visibility">system</td>
9851
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009852 <td class="entry_description">
9853 A 3-channel sharpness map,<wbr> based on the raw
9854 sensor data
9855 </td>
9856
9857 <td class="entry_units">
9858 </td>
9859
9860 <td class="entry_range">
9861 </td>
9862
9863 <td class="entry_notes">
9864 If only a monochrome sharpness map is supported,<wbr>
9865 all channels should have the same data
9866 </td>
9867
9868 <td class="entry_tags">
9869 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009870 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009871 </ul>
9872 </td>
9873
9874 </tr> <!-- end of entry -->
9875
9876
9877 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
9878 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9879 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009880 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009881
9882
9883
9884 <ul class="entry_type_enum">
9885 <li>
9886 <span class="entry_type_enum_name">OFF</span>
9887 </li>
9888 <li>
9889 <span class="entry_type_enum_name">ON</span>
9890 </li>
9891 </ul>
9892
9893 </td> <!-- entry_type -->
9894
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009895 <td class="entry_visibility">system</td>
9896
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009897 <td class="entry_description">
9898 Operating mode for sharpness map
9899 generation
9900 </td>
9901
9902 <td class="entry_units">
9903 </td>
9904
9905 <td class="entry_range">
9906 </td>
9907
9908 <td class="entry_notes">
9909 </td>
9910
9911 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009912 <ul class="entry_tags">
9913 <li><a href="#tag_V1">V1</a></li>
9914 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009915 </td>
9916
9917 </tr> <!-- end of entry -->
9918
9919
9920
9921 <!-- end of kind -->
9922 </tbody>
9923
9924 <!-- end of section -->
9925 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
9926
9927
9928 <tr><td colspan="7" class="kind">controls</td></tr>
9929
9930 <thead>
9931 <tr>
9932 <th class="th_name">Property Name</th>
9933 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009934 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009935 <th class="th_description">Description</th>
9936 <th class="th_units">Units</th>
9937 <th class="th_range">Range</th>
9938 <th class="th_notes">Notes</th>
9939 <th class="th_tags">Tags</th>
9940 </tr>
9941 </thead>
9942
9943 <tbody>
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954 <tr class="entry" id="controls_android.tonemap.curveBlue">
9955 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9956 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009957 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009958
9959
9960
9961
9962 </td> <!-- entry_type -->
9963
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009964 <td class="entry_visibility">public</td>
9965
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009966 <td class="entry_description">
9967 Table mapping blue input values to output
9968 values
9969 </td>
9970
9971 <td class="entry_units">
9972 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9973 </td>
9974
9975 <td class="entry_range">
9976 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9977 </td>
9978
9979 <td class="entry_notes">
9980 </td>
9981
9982 <td class="entry_tags">
9983 </td>
9984
9985 </tr> <!-- end of entry -->
9986
9987
9988 <tr class="entry" id="controls_android.tonemap.curveGreen">
9989 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9990 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08009991 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009992
9993
9994
9995
9996 </td> <!-- entry_type -->
9997
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07009998 <td class="entry_visibility">public</td>
9999
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010000 <td class="entry_description">
10001 Table mapping green input values to output
10002 values
10003 </td>
10004
10005 <td class="entry_units">
10006 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10007 </td>
10008
10009 <td class="entry_range">
10010 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10011 </td>
10012
10013 <td class="entry_notes">
10014 </td>
10015
10016 <td class="entry_tags">
10017 </td>
10018
10019 </tr> <!-- end of entry -->
10020
10021
10022 <tr class="entry" id="controls_android.tonemap.curveRed">
10023 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10024 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010025 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010026 <span class="entry_type_container">x</span>
10027
10028 <span class="entry_type_array">
10029 n x 2
10030 </span>
10031
10032 <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>
10033
10034
10035 </td> <!-- entry_type -->
10036
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010037 <td class="entry_visibility">public</td>
10038
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010039 <td class="entry_description">
10040 Table mapping red input values to output
10041 values
10042 </td>
10043
10044 <td class="entry_units">
10045 </td>
10046
10047 <td class="entry_range">
10048 0-1 on input and output coordinates.<wbr> Max entry
10049 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
10050 </td>
10051
10052 <td class="entry_notes">
10053 .<wbr>The input range must be monotonically increasing
10054 with N,<wbr> and values between entries should be linearly
10055 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
10056 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10057 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10058 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10059 </td>
10060
10061 <td class="entry_tags">
10062 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010063 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010064 </ul>
10065 </td>
10066
10067 </tr> <!-- end of entry -->
10068
10069
10070 <tr class="entry" id="controls_android.tonemap.mode">
10071 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10072 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010073 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010074
10075
10076
10077 <ul class="entry_type_enum">
10078 <li>
10079 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10080 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10081 android.<wbr>tonemap.<wbr>curve</span>
10082 </li>
10083 <li>
10084 <span class="entry_type_enum_name">FAST</span>
10085 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10086 bayer output</span>
10087 </li>
10088 <li>
10089 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10090 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10091 quality</span>
10092 </li>
10093 </ul>
10094
10095 </td> <!-- entry_type -->
10096
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010097 <td class="entry_visibility">public</td>
10098
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010099 <td class="entry_description">
10100 </td>
10101
10102 <td class="entry_units">
10103 </td>
10104
10105 <td class="entry_range">
10106 </td>
10107
10108 <td class="entry_notes">
10109 </td>
10110
10111 <td class="entry_tags">
10112 </td>
10113
10114 </tr> <!-- end of entry -->
10115
10116
10117
10118 <!-- end of kind -->
10119 </tbody>
10120 <tr><td colspan="7" class="kind">static</td></tr>
10121
10122 <thead>
10123 <tr>
10124 <th class="th_name">Property Name</th>
10125 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010126 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010127 <th class="th_description">Description</th>
10128 <th class="th_units">Units</th>
10129 <th class="th_range">Range</th>
10130 <th class="th_notes">Notes</th>
10131 <th class="th_tags">Tags</th>
10132 </tr>
10133 </thead>
10134
10135 <tbody>
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10147 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10148 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010149 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010150
10151
10152
10153
10154 </td> <!-- entry_type -->
10155
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010156 <td class="entry_visibility">public</td>
10157
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010158 <td class="entry_description">
10159 Maximum number of supported points in the
10160 tonemap curve
10161 </td>
10162
10163 <td class="entry_units">
10164 </td>
10165
10166 <td class="entry_range">
10167 >= 128
10168 </td>
10169
10170 <td class="entry_notes">
10171 </td>
10172
10173 <td class="entry_tags">
10174 </td>
10175
10176 </tr> <!-- end of entry -->
10177
10178
10179
10180 <!-- end of kind -->
10181 </tbody>
10182 <tr><td colspan="7" class="kind">dynamic</td></tr>
10183
10184 <thead>
10185 <tr>
10186 <th class="th_name">Property Name</th>
10187 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010188 <th class="th_visibility">Visibility</th>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010189 <th class="th_description">Description</th>
10190 <th class="th_units">Units</th>
10191 <th class="th_range">Range</th>
10192 <th class="th_notes">Notes</th>
10193 <th class="th_tags">Tags</th>
10194 </tr>
10195 </thead>
10196
10197 <tbody>
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10209 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10210 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010211 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010212
10213
10214
10215
10216 </td> <!-- entry_type -->
10217
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010218 <td class="entry_visibility">public</td>
10219
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010220 <td class="entry_description">
10221 Table mapping blue input values to output
10222 values
10223 </td>
10224
10225 <td class="entry_units">
10226 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10227 </td>
10228
10229 <td class="entry_range">
10230 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10231 </td>
10232
10233 <td class="entry_notes">
10234 </td>
10235
10236 <td class="entry_tags">
10237 </td>
10238
10239 </tr> <!-- end of entry -->
10240
10241
10242 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10243 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10244 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010245 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010246
10247
10248
10249
10250 </td> <!-- entry_type -->
10251
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010252 <td class="entry_visibility">public</td>
10253
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010254 <td class="entry_description">
10255 Table mapping green input values to output
10256 values
10257 </td>
10258
10259 <td class="entry_units">
10260 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10261 </td>
10262
10263 <td class="entry_range">
10264 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10265 </td>
10266
10267 <td class="entry_notes">
10268 </td>
10269
10270 <td class="entry_tags">
10271 </td>
10272
10273 </tr> <!-- end of entry -->
10274
10275
10276 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10277 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10278 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010279 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010280 <span class="entry_type_container">x</span>
10281
10282 <span class="entry_type_array">
10283 n x 2
10284 </span>
10285
10286 <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>
10287
10288
10289 </td> <!-- entry_type -->
10290
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010291 <td class="entry_visibility">public</td>
10292
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010293 <td class="entry_description">
10294 Table mapping red input values to output
10295 values
10296 </td>
10297
10298 <td class="entry_units">
10299 </td>
10300
10301 <td class="entry_range">
10302 0-1 on input and output coordinates.<wbr> Max entry
10303 count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
10304 </td>
10305
10306 <td class="entry_notes">
10307 .<wbr>The input range must be monotonically increasing
10308 with N,<wbr> and values between entries should be linearly
10309 interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
10310 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
10311 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
10312 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
10313 </td>
10314
10315 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010316 <ul class="entry_tags">
10317 <li><a href="#tag_DNG">DNG</a></li>
10318 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010319 </td>
10320
10321 </tr> <!-- end of entry -->
10322
10323
10324 <tr class="entry" id="dynamic_android.tonemap.mode">
10325 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10326 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010327 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010328
10329
10330
10331 <ul class="entry_type_enum">
10332 <li>
10333 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10334 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10335 android.<wbr>tonemap.<wbr>curve</span>
10336 </li>
10337 <li>
10338 <span class="entry_type_enum_name">FAST</span>
10339 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10340 bayer output</span>
10341 </li>
10342 <li>
10343 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10344 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10345 quality</span>
10346 </li>
10347 </ul>
10348
10349 </td> <!-- entry_type -->
10350
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010351 <td class="entry_visibility">public</td>
10352
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010353 <td class="entry_description">
10354 </td>
10355
10356 <td class="entry_units">
10357 </td>
10358
10359 <td class="entry_range">
10360 </td>
10361
10362 <td class="entry_notes">
10363 </td>
10364
10365 <td class="entry_tags">
10366 </td>
10367
10368 </tr> <!-- end of entry -->
10369
10370
10371
10372 <!-- end of kind -->
10373 </tbody>
10374
10375 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010376 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10377
10378
10379 <tr><td colspan="7" class="kind">controls</td></tr>
10380
10381 <thead>
10382 <tr>
10383 <th class="th_name">Property Name</th>
10384 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010385 <th class="th_visibility">Visibility</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010386 <th class="th_description">Description</th>
10387 <th class="th_units">Units</th>
10388 <th class="th_range">Range</th>
10389 <th class="th_notes">Notes</th>
10390 <th class="th_tags">Tags</th>
10391 </tr>
10392 </thead>
10393
10394 <tbody>
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405 <tr class="entry" id="controls_android.led.transmit">
10406 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10407 <td class="entry_type">
10408 <span class="entry_type_name entry_type_name_enum">byte</span>
10409
10410
10411
10412 <ul class="entry_type_enum">
10413 <li>
10414 <span class="entry_type_enum_name">OFF</span>
10415 </li>
10416 <li>
10417 <span class="entry_type_enum_name">ON</span>
10418 </li>
10419 </ul>
10420
10421 </td> <!-- entry_type -->
10422
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010423 <td class="entry_visibility">hidden</td>
10424
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010425 <td class="entry_description">
10426 This LED is nominally used to indicate to the user
10427 that the camera is powered on and may be streaming images back to the
10428 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10429 disable this when video is processed locally and not transmitted to
10430 any untrusted applications.<wbr>
10431<br>
10432<br> In particular,<wbr> the LED *must* always be on when the data could be
10433 transmitted off the device.<wbr> The LED *should* always be on whenever
10434 data is stored locally on the device.<wbr>
10435<br>
10436<br> The LED *may* be off if a trusted application is using the data that
10437 doesn't violate the above rules.<wbr>
10438
10439 </td>
10440
10441 <td class="entry_units">
10442 </td>
10443
10444 <td class="entry_range">
10445 </td>
10446
10447 <td class="entry_notes">
10448 </td>
10449
10450 <td class="entry_tags">
10451 </td>
10452
10453 </tr> <!-- end of entry -->
10454
10455
10456
10457 <!-- end of kind -->
10458 </tbody>
10459 <tr><td colspan="7" class="kind">dynamic</td></tr>
10460
10461 <thead>
10462 <tr>
10463 <th class="th_name">Property Name</th>
10464 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010465 <th class="th_visibility">Visibility</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010466 <th class="th_description">Description</th>
10467 <th class="th_units">Units</th>
10468 <th class="th_range">Range</th>
10469 <th class="th_notes">Notes</th>
10470 <th class="th_tags">Tags</th>
10471 </tr>
10472 </thead>
10473
10474 <tbody>
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485 <tr class="entry" id="dynamic_android.led.transmit">
10486 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10487 <td class="entry_type">
10488 <span class="entry_type_name entry_type_name_enum">byte</span>
10489
10490
10491
10492 <ul class="entry_type_enum">
10493 <li>
10494 <span class="entry_type_enum_name">OFF</span>
10495 </li>
10496 <li>
10497 <span class="entry_type_enum_name">ON</span>
10498 </li>
10499 </ul>
10500
10501 </td> <!-- entry_type -->
10502
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010503 <td class="entry_visibility">hidden</td>
10504
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010505 <td class="entry_description">
10506 This LED is nominally used to indicate to the user
10507 that the camera is powered on and may be streaming images back to the
10508 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10509 disable this when video is processed locally and not transmitted to
10510 any untrusted applications.<wbr>
10511<br>
10512<br> In particular,<wbr> the LED *must* always be on when the data could be
10513 transmitted off the device.<wbr> The LED *should* always be on whenever
10514 data is stored locally on the device.<wbr>
10515<br>
10516<br> The LED *may* be off if a trusted application is using the data that
10517 doesn't violate the above rules.<wbr>
10518
10519 </td>
10520
10521 <td class="entry_units">
10522 </td>
10523
10524 <td class="entry_range">
10525 </td>
10526
10527 <td class="entry_notes">
10528 </td>
10529
10530 <td class="entry_tags">
10531 </td>
10532
10533 </tr> <!-- end of entry -->
10534
10535
10536
10537 <!-- end of kind -->
10538 </tbody>
10539 <tr><td colspan="7" class="kind">static</td></tr>
10540
10541 <thead>
10542 <tr>
10543 <th class="th_name">Property Name</th>
10544 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010545 <th class="th_visibility">Visibility</th>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010546 <th class="th_description">Description</th>
10547 <th class="th_units">Units</th>
10548 <th class="th_range">Range</th>
10549 <th class="th_notes">Notes</th>
10550 <th class="th_tags">Tags</th>
10551 </tr>
10552 </thead>
10553
10554 <tbody>
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565 <tr class="entry" id="static_android.led.availableLeds">
10566 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10567 <td class="entry_type">
10568 <span class="entry_type_name entry_type_name_enum">byte</span>
10569 <span class="entry_type_container">x</span>
10570
10571 <span class="entry_type_array">
10572 n
10573 </span>
10574
10575
10576 <ul class="entry_type_enum">
10577 <li>
10578 <span class="entry_type_enum_name">TRANSMIT</span>
10579 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10580 </li>
10581 </ul>
10582
10583 </td> <!-- entry_type -->
10584
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010585 <td class="entry_visibility">hidden</td>
10586
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010587 <td class="entry_description">
10588 A list of camera LEDs that are available on this system.<wbr>
10589
10590 </td>
10591
10592 <td class="entry_units">
10593 </td>
10594
10595 <td class="entry_range">
10596 </td>
10597
10598 <td class="entry_notes">
10599 </td>
10600
10601 <td class="entry_tags">
10602 </td>
10603
10604 </tr> <!-- end of entry -->
10605
10606
10607
10608 <!-- end of kind -->
10609 </tbody>
10610
10611 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010612 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10613
10614
10615 <tr><td colspan="7" class="kind">static</td></tr>
10616
10617 <thead>
10618 <tr>
10619 <th class="th_name">Property Name</th>
10620 <th class="th_type">Type</th>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010621 <th class="th_visibility">Visibility</th>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010622 <th class="th_description">Description</th>
10623 <th class="th_units">Units</th>
10624 <th class="th_range">Range</th>
10625 <th class="th_notes">Notes</th>
10626 <th class="th_tags">Tags</th>
10627 </tr>
10628 </thead>
10629
10630 <tbody>
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641 <tr class="entry" id="static_android.info.supportedHardwareLevel">
10642 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10643 <td class="entry_type">
10644 <span class="entry_type_name entry_type_name_enum">byte</span>
10645
10646
10647
10648 <ul class="entry_type_enum">
10649 <li>
10650 <span class="entry_type_enum_name">LIMITED</span>
10651 </li>
10652 <li>
10653 <span class="entry_type_enum_name">FULL</span>
10654 </li>
10655 </ul>
10656
10657 </td> <!-- entry_type -->
10658
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010659 <td class="entry_visibility">public</td>
10660
Igor Murashkin38b8cae2013-05-23 16:38:59 -070010661 <td class="entry_description">
10662
10663 The camera 3 HAL device can implement one of two possible operational modes;
10664 limited and full.<wbr> Full support is expected from new higher-end
10665 devices.<wbr> Limited mode has hardware requirements roughly in line with those
10666 for a camera HAL device v1 implementation,<wbr> and is expected from older or
10667 inexpensive devices.<wbr> Full is a strict superset of limited,<wbr> and they share the
10668 same essential operational flow.<wbr>
10669<br>
10670<br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
10671
10672 </td>
10673
10674 <td class="entry_units">
10675 </td>
10676
10677 <td class="entry_range">
10678 Optional.<wbr> Default value is LIMITED.<wbr>
10679 </td>
10680
10681 <td class="entry_notes">
10682 </td>
10683
10684 <td class="entry_tags">
10685 </td>
10686
10687 </tr> <!-- end of entry -->
10688
10689
10690
10691 <!-- end of kind -->
10692 </tbody>
10693
10694 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010695<!-- </namespace> -->
10696 </table>
10697
10698 <div class="tags" id="tag_index">
10699 <h2>Tags</h2>
10700 <ul>
10701 <li id="tag_AWB">AWB -
10702 Needed for auto white balance
10703
10704 <ul class="tags_entries">
10705 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10706 </ul>
10707 </li> <!-- tag_AWB -->
10708 <li id="tag_BC">BC -
10709 Needed for backwards compatibility with old Java API
10710
10711 <ul class="tags_entries">
10712 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
10713 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
10714 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
10715 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
10716 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010717 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010718 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
10719 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070010720 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010721 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
10722 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10723 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
10724 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
10725 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
10726 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
10727 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
10728 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
10729 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
10730 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
10731 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
10732 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
10733 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
10734 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
10735 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
10736 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
10737 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
10738 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
10739 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
10740 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
10741 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
10742 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
10743 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
10744 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
10745 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
10746 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
10747 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
10748 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10749 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10750 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
10751 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
10752 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
10753 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
10754 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
10755 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
10756 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070010757 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010758 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
10759 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
10760 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010761 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10762 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10763 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10764 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10765 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10766 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
10767 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
10768 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
10769 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
10770 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
10771 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
10772 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
10773 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
10774 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
10775 </ul>
10776 </li> <!-- tag_BC -->
10777 <li id="tag_V1">V1 -
10778 New features for first camera 2 release (API1)
10779
10780 <ul class="tags_entries">
10781 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
10782 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
10783 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
10784 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
10785 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
10786 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
10787 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
10788 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
10789 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10790 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
10791 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
10792 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
10793 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10794 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
10795 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
10796 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
10797 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
10798 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
10799 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
10800 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
10801 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
10802 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
10803 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10804 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
10805 <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10806 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
10807 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10808 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10809 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
10810 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
10811 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
10812 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
10813 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
10814 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
10815 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
10816 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
10817 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
10818 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
10819 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
10820 </ul>
10821 </li> <!-- tag_V1 -->
10822 <li id="tag_ADV">ADV - None
10823 <ul class="tags_entries">
10824 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
10825 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
10826 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
10827 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
10828 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
10829 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
10830 </ul>
10831 </li> <!-- tag_ADV -->
10832 <li id="tag_DNG">DNG -
10833 Needed for DNG file support
10834
10835 <ul class="tags_entries">
10836 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
10837 <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
10838 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
10839 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
10840 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10841 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
10842 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
10843 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
10844 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
10845 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
10846 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
10847 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
10848 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
10849 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10850 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
10851 </ul>
10852 </li> <!-- tag_DNG -->
10853 <li id="tag_EXIF">EXIF - None
10854 <ul class="tags_entries">
10855 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10856 </ul>
10857 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070010858 <li id="tag_HAL2">HAL2 -
10859 Tag only used by camera device HAL 2.x
10860
10861 <ul class="tags_entries">
10862 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
10863 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
10864 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
10865 </ul>
10866 </li> <!-- tag_HAL2 -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010867 </ul>
10868 </div>
10869
10870 [ <a href="#">top</a> ]
10871
10872</body>
10873</html>