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