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 HAL3.0 Properties</title> 21 <style type="text/css"> 22 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;} 23 h1 { color: #333333; } 24 h2 { color: #333333; } 25 a:link { color: #258aaf; text-decoration: none} 26 a:hover { color: #459aaf; text-decoration: underline } 27 a:visited { color: #154a5f; text-decoration: none} 28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777} 29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa } 30 .entry { background-color: #f0f0f0 } 31 .entries_header { background-color: #dddddd; text-align: center} 32 33 /* toc style */ 34 .toc_section_header { font-size:1.3em; } 35 .toc_kind_header { font-size:1.2em; } 36 37 /* table column sizes */ 38 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word } 39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em } 40 .th_name { width: 20% } 41 .th_units { width: 10% } 42 .th_tags { width: 5% } 43 .th_notes { width: 25% } 44 .th_type { width: 20% } 45 .th_description { width: 20% } 46 .th_range { width: 10% } 47 td { font-size: 0.9em; } 48 49 /* hide the first thead, we need it there only to enforce column sizes */ 50 .thead_dummy { visibility: hidden; } 51 52 /* Entry flair */ 53 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; } 54 55 /* Entry type flair */ 56 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;} 57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" } 58 .entry_type_visibility { font-weight: bolder; padding-left:1em} 59 .entry_type_enum_name { font-family: monospace; font-weight: bolder; } 60 .entry_type_enum_notes:before { content:" - " } 61 .entry_type_enum_value:before { content:" = " } 62 .entry_type_enum_value { font-family: monospace; } 63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; } 64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;} 65 66 /* Entry visibility flair */ 67 68 /* Entry tags flair */ 69 .entry_tags ul { list-style-type: none; } 70 71 72 /* TODO: generate abbr element for each tag link? */ 73 /* TODO for each x.y.z try to link it to the entry */ 74 75 </style> 76 77 <style> 78 79 { 80 /* broken... 81 supposedly there is a bug in chrome that it lays out tables before 82 it knows its being printed, so the page-break-* styles are ignored 83 */ 84 tr { page-break-after: always; page-break-inside: avoid; } 85 } 86 87 </style> 88 </head> 89 90 91 92 <body> 93 <h1>Android Camera HAL3.0 Properties</h1> 94 95 96 <h2>Table of Contents</h2> 97 <ul class="toc"> 98 <li><a href="#tag_index" class="toc_section_header">Tags</a></li> 99 <li> 100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span> 101 <ul class="toc_section"> 102 <li> 103 <span class="toc_kind_header">controls</span> 104 <ul class="toc_section"> 105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li> 106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li> 107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li> 108 </ul> 109 </li> 110 <li> 111 <span class="toc_kind_header">dynamic</span> 112 <ul class="toc_section"> 113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li> 114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li> 115 </ul> 116 </li> 117 </ul> <!-- toc_section --> 118 </li> 119 <li> 120 <span class="toc_section_header"><a href="#section_control">control</a></span> 121 <ul class="toc_section"> 122 <li> 123 <span class="toc_kind_header">controls</span> 124 <ul class="toc_section"> 125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li> 126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li> 127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li> 128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li> 129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li> 130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li> 131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li> 132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li> 133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li> 134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li> 135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li> 136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li> 137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li> 138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li> 139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li> 140 <li><a href="#controls_android.control.mode">android.control.mode</a></li> 141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li> 142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li> 143 </ul> 144 </li> 145 <li> 146 <span class="toc_kind_header">static</span> 147 <ul class="toc_section"> 148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li> 149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li> 150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li> 151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li> 152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li> 153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li> 154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li> 155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li> 156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li> 157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li> 158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li> 159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li> 160 </ul> 161 </li> 162 <li> 163 <span class="toc_kind_header">dynamic</span> 164 <ul class="toc_section"> 165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li> 166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li> 167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li> 168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li> 169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li> 170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li> 171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li> 172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li> 173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li> 174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li> 175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li> 176 </ul> 177 </li> 178 </ul> <!-- toc_section --> 179 </li> 180 <li> 181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span> 182 <ul class="toc_section"> 183 <li> 184 <span class="toc_kind_header">controls</span> 185 <ul class="toc_section"> 186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li> 187 </ul> 188 </li> 189 </ul> <!-- toc_section --> 190 </li> 191 <li> 192 <span class="toc_section_header"><a href="#section_edge">edge</a></span> 193 <ul class="toc_section"> 194 <li> 195 <span class="toc_kind_header">controls</span> 196 <ul class="toc_section"> 197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li> 198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li> 199 </ul> 200 </li> 201 <li> 202 <span class="toc_kind_header">dynamic</span> 203 <ul class="toc_section"> 204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li> 205 </ul> 206 </li> 207 </ul> <!-- toc_section --> 208 </li> 209 <li> 210 <span class="toc_section_header"><a href="#section_flash">flash</a></span> 211 <ul class="toc_section"> 212 <li> 213 <span class="toc_kind_header">controls</span> 214 <ul class="toc_section"> 215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li> 216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li> 217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li> 218 </ul> 219 </li> 220 <li> 221 <span class="toc_kind_header">static</span> 222 <ul class="toc_section"> 223 224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li> 225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li> 226 227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li> 228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li> 229 </ul> 230 </li> 231 <li> 232 <span class="toc_kind_header">dynamic</span> 233 <ul class="toc_section"> 234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li> 235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li> 236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li> 237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li> 238 </ul> 239 </li> 240 </ul> <!-- toc_section --> 241 </li> 242 <li> 243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span> 244 <ul class="toc_section"> 245 <li> 246 <span class="toc_kind_header">controls</span> 247 <ul class="toc_section"> 248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li> 249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li> 250 </ul> 251 </li> 252 </ul> <!-- toc_section --> 253 </li> 254 <li> 255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span> 256 <ul class="toc_section"> 257 <li> 258 <span class="toc_kind_header">controls</span> 259 <ul class="toc_section"> 260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li> 261 </ul> 262 </li> 263 <li> 264 <span class="toc_kind_header">static</span> 265 <ul class="toc_section"> 266 267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li> 268 269 </ul> 270 </li> 271 <li> 272 <span class="toc_kind_header">dynamic</span> 273 <ul class="toc_section"> 274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li> 275 </ul> 276 </li> 277 </ul> <!-- toc_section --> 278 </li> 279 <li> 280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span> 281 <ul class="toc_section"> 282 <li> 283 <span class="toc_kind_header">controls</span> 284 <ul class="toc_section"> 285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li> 286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li> 287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li> 288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li> 289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li> 290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li> 291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li> 292 </ul> 293 </li> 294 <li> 295 <span class="toc_kind_header">static</span> 296 <ul class="toc_section"> 297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li> 298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li> 299 </ul> 300 </li> 301 <li> 302 <span class="toc_kind_header">dynamic</span> 303 <ul class="toc_section"> 304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li> 305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li> 306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li> 307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li> 308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li> 309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li> 310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li> 311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li> 312 </ul> 313 </li> 314 </ul> <!-- toc_section --> 315 </li> 316 <li> 317 <span class="toc_section_header"><a href="#section_lens">lens</a></span> 318 <ul class="toc_section"> 319 <li> 320 <span class="toc_kind_header">controls</span> 321 <ul class="toc_section"> 322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li> 323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li> 324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li> 325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li> 326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li> 327 </ul> 328 </li> 329 <li> 330 <span class="toc_kind_header">static</span> 331 <ul class="toc_section"> 332 333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li> 334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li> 335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li> 336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li> 337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li> 338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li> 339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li> 340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li> 341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li> 342 343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li> 344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li> 345 <li><a href="#static_android.lens.position">android.lens.position</a></li> 346 </ul> 347 </li> 348 <li> 349 <span class="toc_kind_header">dynamic</span> 350 <ul class="toc_section"> 351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li> 352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li> 353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li> 354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li> 355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li> 356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li> 357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li> 358 </ul> 359 </li> 360 </ul> <!-- toc_section --> 361 </li> 362 <li> 363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span> 364 <ul class="toc_section"> 365 <li> 366 <span class="toc_kind_header">controls</span> 367 <ul class="toc_section"> 368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li> 369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li> 370 </ul> 371 </li> 372 <li> 373 <span class="toc_kind_header">dynamic</span> 374 <ul class="toc_section"> 375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li> 376 </ul> 377 </li> 378 </ul> <!-- toc_section --> 379 </li> 380 <li> 381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span> 382 <ul class="toc_section"> 383 <li> 384 <span class="toc_kind_header">static</span> 385 <ul class="toc_section"> 386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li> 387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li> 388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li> 389 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li> 390 </ul> 391 </li> 392 <li> 393 <span class="toc_kind_header">dynamic</span> 394 <ul class="toc_section"> 395 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li> 396 </ul> 397 </li> 398 </ul> <!-- toc_section --> 399 </li> 400 <li> 401 <span class="toc_section_header"><a href="#section_request">request</a></span> 402 <ul class="toc_section"> 403 <li> 404 <span class="toc_kind_header">controls</span> 405 <ul class="toc_section"> 406 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li> 407 <li><a href="#controls_android.request.id">android.request.id</a></li> 408 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li> 409 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li> 410 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li> 411 <li><a href="#controls_android.request.type">android.request.type</a></li> 412 </ul> 413 </li> 414 <li> 415 <span class="toc_kind_header">static</span> 416 <ul class="toc_section"> 417 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li> 418 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li> 419 </ul> 420 </li> 421 <li> 422 <span class="toc_kind_header">dynamic</span> 423 <ul class="toc_section"> 424 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li> 425 <li><a href="#dynamic_android.request.id">android.request.id</a></li> 426 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li> 427 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li> 428 </ul> 429 </li> 430 </ul> <!-- toc_section --> 431 </li> 432 <li> 433 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span> 434 <ul class="toc_section"> 435 <li> 436 <span class="toc_kind_header">controls</span> 437 <ul class="toc_section"> 438 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li> 439 </ul> 440 </li> 441 <li> 442 <span class="toc_kind_header">static</span> 443 <ul class="toc_section"> 444 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li> 445 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li> 446 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li> 447 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li> 448 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li> 449 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li> 450 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li> 451 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li> 452 </ul> 453 </li> 454 <li> 455 <span class="toc_kind_header">dynamic</span> 456 <ul class="toc_section"> 457 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li> 458 </ul> 459 </li> 460 </ul> <!-- toc_section --> 461 </li> 462 <li> 463 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span> 464 <ul class="toc_section"> 465 <li> 466 <span class="toc_kind_header">controls</span> 467 <ul class="toc_section"> 468 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li> 469 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li> 470 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li> 471 </ul> 472 </li> 473 <li> 474 <span class="toc_kind_header">static</span> 475 <ul class="toc_section"> 476 477 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li> 478 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li> 479 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li> 480 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li> 481 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li> 482 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li> 483 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li> 484 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li> 485 486 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li> 487 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li> 488 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li> 489 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li> 490 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li> 491 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li> 492 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li> 493 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li> 494 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li> 495 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li> 496 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li> 497 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li> 498 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li> 499 </ul> 500 </li> 501 <li> 502 <span class="toc_kind_header">dynamic</span> 503 <ul class="toc_section"> 504 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li> 505 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li> 506 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li> 507 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li> 508 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li> 509 </ul> 510 </li> 511 </ul> <!-- toc_section --> 512 </li> 513 <li> 514 <span class="toc_section_header"><a href="#section_shading">shading</a></span> 515 <ul class="toc_section"> 516 <li> 517 <span class="toc_kind_header">controls</span> 518 <ul class="toc_section"> 519 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li> 520 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li> 521 </ul> 522 </li> 523 <li> 524 <span class="toc_kind_header">dynamic</span> 525 <ul class="toc_section"> 526 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li> 527 </ul> 528 </li> 529 </ul> <!-- toc_section --> 530 </li> 531 <li> 532 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span> 533 <ul class="toc_section"> 534 <li> 535 <span class="toc_kind_header">controls</span> 536 <ul class="toc_section"> 537 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li> 538 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li> 539 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li> 540 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li> 541 </ul> 542 </li> 543 <li> 544 <span class="toc_kind_header">static</span> 545 <ul class="toc_section"> 546 547 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li> 548 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li> 549 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li> 550 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li> 551 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li> 552 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li> 553 554 </ul> 555 </li> 556 <li> 557 <span class="toc_kind_header">dynamic</span> 558 <ul class="toc_section"> 559 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li> 560 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li> 561 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li> 562 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li> 563 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li> 564 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li> 565 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li> 566 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li> 567 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li> 568 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li> 569 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li> 570 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li> 571 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li> 572 </ul> 573 </li> 574 </ul> <!-- toc_section --> 575 </li> 576 <li> 577 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span> 578 <ul class="toc_section"> 579 <li> 580 <span class="toc_kind_header">controls</span> 581 <ul class="toc_section"> 582 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li> 583 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li> 584 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li> 585 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li> 586 </ul> 587 </li> 588 <li> 589 <span class="toc_kind_header">static</span> 590 <ul class="toc_section"> 591 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li> 592 </ul> 593 </li> 594 <li> 595 <span class="toc_kind_header">dynamic</span> 596 <ul class="toc_section"> 597 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li> 598 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li> 599 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li> 600 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li> 601 </ul> 602 </li> 603 </ul> <!-- toc_section --> 604 </li> 605 <li> 606 <span class="toc_section_header"><a href="#section_led">led</a></span> 607 <ul class="toc_section"> 608 <li> 609 <span class="toc_kind_header">controls</span> 610 <ul class="toc_section"> 611 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li> 612 </ul> 613 </li> 614 <li> 615 <span class="toc_kind_header">dynamic</span> 616 <ul class="toc_section"> 617 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li> 618 </ul> 619 </li> 620 <li> 621 <span class="toc_kind_header">static</span> 622 <ul class="toc_section"> 623 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li> 624 </ul> 625 </li> 626 </ul> <!-- toc_section --> 627 </li> 628 <li> 629 <span class="toc_section_header"><a href="#section_info">info</a></span> 630 <ul class="toc_section"> 631 <li> 632 <span class="toc_kind_header">static</span> 633 <ul class="toc_section"> 634 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li> 635 </ul> 636 </li> 637 </ul> <!-- toc_section --> 638 </li> 639 <li> 640 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span> 641 <ul class="toc_section"> 642 <li> 643 <span class="toc_kind_header">controls</span> 644 <ul class="toc_section"> 645 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li> 646 </ul> 647 </li> 648 <li> 649 <span class="toc_kind_header">dynamic</span> 650 <ul class="toc_section"> 651 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li> 652 </ul> 653 </li> 654 </ul> <!-- toc_section --> 655 </li> 656 </ul> 657 658 659 <h1>Properties</h1> 660 <table class="properties"> 661 662 <thead class="thead_dummy"> 663 <tr> 664 <th class="th_name">Property Name</th> 665 <th class="th_type">Type</th> 666 <th class="th_description">Description</th> 667 <th class="th_units">Units</th> 668 <th class="th_range">Range</th> 669 <th class="th_notes">Notes</th> 670 <th class="th_tags">Tags</th> 671 </tr> 672 </thead> <!-- so that the first occurrence of thead is not 673 above the first occurrence of tr --> 674 <!-- <namespace name="android"> --> 675 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr> 676 677 678 <tr><td colspan="7" class="kind">controls</td></tr> 679 680 <thead class="entries_header"> 681 <tr> 682 <th class="th_name">Property Name</th> 683 <th class="th_type">Type</th> 684 <th class="th_description">Description</th> 685 <th class="th_units">Units</th> 686 <th class="th_range">Range</th> 687 <th class="th_notes">Notes</th> 688 <th class="th_tags">Tags</th> 689 </tr> 690 </thead> 691 692 <tbody> 693 694 695 696 697 698 699 700 701 702 703 <tr class="entry" id="controls_android.colorCorrection.mode"> 704 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td> 705 <td class="entry_type"> 706 <span class="entry_type_name entry_type_name_enum">byte</span> 707 708 <span class="entry_type_visibility"> [public]</span> 709 710 <ul class="entry_type_enum"> 711 <li> 712 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span> 713 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix 714 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span> 715 </li> 716 <li> 717 <span class="entry_type_enum_name">FAST</span> 718 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 719 bayer output</span> 720 </li> 721 <li> 722 <span class="entry_type_enum_name">HIGH_QUALITY</span> 723 <span class="entry_type_enum_notes">Frame rate may be reduced by high 724 quality</span> 725 </li> 726 </ul> 727 728 </td> <!-- entry_type --> 729 730 <td class="entry_description"> 731 </td> 732 733 <td class="entry_units"> 734 </td> 735 736 <td class="entry_range"> 737 </td> 738 739 <td class="entry_notes"> 740 When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX 741 should be ignored.<wbr> 742 </td> 743 744 <td class="entry_tags"> 745 </td> 746 747 </tr> <!-- end of entry --> 748 749 750 <tr class="entry" id="controls_android.colorCorrection.transform"> 751 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td> 752 <td class="entry_type"> 753 <span class="entry_type_name">rational</span> 754 <span class="entry_type_container">x</span> 755 756 <span class="entry_type_array"> 757 3 x 3 758 </span> 759 <span class="entry_type_visibility"> [public]</span> 760 <div class="entry_type_notes">3x3 rational matrix in row-major order</div> 761 762 763 </td> <!-- entry_type --> 764 765 <td class="entry_description"> 766 A color transform matrix to use to transform 767 from sensor RGB color space to output linear sRGB color space 768 769 </td> 770 771 <td class="entry_units"> 772 </td> 773 774 <td class="entry_range"> 775 Output values are expected to be in the range 776 (0,<wbr>1) 777 </td> 778 779 <td class="entry_notes"> 780 This matrix is either set by HAL when the request 781 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or 782 directly by the application in the request when the 783 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr> 784 <br> 785 <br> In the latter case,<wbr> the HAL may round the matrix to account 786 for precision issues; the final rounded matrix should be 787 reported back in this matrix result metadata.<wbr> 788 </td> 789 790 <td class="entry_tags"> 791 </td> 792 793 </tr> <!-- end of entry --> 794 795 796 <tr class="entry" id="controls_android.colorCorrection.gains"> 797 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td> 798 <td class="entry_type"> 799 <span class="entry_type_name">float</span> 800 <span class="entry_type_container">x</span> 801 802 <span class="entry_type_array"> 803 4 804 </span> 805 <span class="entry_type_visibility"> [public]</span> 806 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div> 807 808 809 </td> <!-- entry_type --> 810 811 <td class="entry_description"> 812 Gains applying to Bayer color channels for 813 white-balance 814 </td> 815 816 <td class="entry_units"> 817 </td> 818 819 <td class="entry_range"> 820 </td> 821 822 <td class="entry_notes"> 823 The 4-channel white-balance gains are defined in 824 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain 825 for green pixels on even rows of the output,<wbr> and G_<wbr>odd 826 is the gain for greenpixels on the odd rows.<wbr> if a HAL 827 does not support a separate gain for even/<wbr>odd green channels,<wbr> 828 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to 829 G_<wbr>even in the output result metadata.<wbr> 830 <br> 831 <br> This array is either set by HAL when the request 832 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or 833 directly by the application in the request when the 834 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr> 835 <br> 836 <br> The ouput should be the gains actually applied by the HAL to 837 the current frame.<wbr> 838 </td> 839 840 <td class="entry_tags"> 841 </td> 842 843 </tr> <!-- end of entry --> 844 845 846 847 <!-- end of kind --> 848 </tbody> 849 <tr><td colspan="7" class="kind">dynamic</td></tr> 850 851 <thead class="entries_header"> 852 <tr> 853 <th class="th_name">Property Name</th> 854 <th class="th_type">Type</th> 855 <th class="th_description">Description</th> 856 <th class="th_units">Units</th> 857 <th class="th_range">Range</th> 858 <th class="th_notes">Notes</th> 859 <th class="th_tags">Tags</th> 860 </tr> 861 </thead> 862 863 <tbody> 864 865 866 867 868 869 870 871 872 873 874 <tr class="entry" id="dynamic_android.colorCorrection.transform"> 875 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td> 876 <td class="entry_type"> 877 <span class="entry_type_name">rational</span> 878 <span class="entry_type_container">x</span> 879 880 <span class="entry_type_array"> 881 3 x 3 882 </span> 883 <span class="entry_type_visibility"> [public]</span> 884 <div class="entry_type_notes">3x3 rational matrix in row-major order</div> 885 886 887 </td> <!-- entry_type --> 888 889 <td class="entry_description"> 890 A color transform matrix to use to transform 891 from sensor RGB color space to output linear sRGB color space 892 893 </td> 894 895 <td class="entry_units"> 896 </td> 897 898 <td class="entry_range"> 899 Output values are expected to be in the range 900 (0,<wbr>1) 901 </td> 902 903 <td class="entry_notes"> 904 This matrix is either set by HAL when the request 905 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or 906 directly by the application in the request when the 907 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr> 908 <br> 909 <br> In the latter case,<wbr> the HAL may round the matrix to account 910 for precision issues; the final rounded matrix should be 911 reported back in this matrix result metadata.<wbr> 912 </td> 913 914 <td class="entry_tags"> 915 </td> 916 917 </tr> <!-- end of entry --> 918 919 920 <tr class="entry" id="dynamic_android.colorCorrection.gains"> 921 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td> 922 <td class="entry_type"> 923 <span class="entry_type_name">float</span> 924 <span class="entry_type_container">x</span> 925 926 <span class="entry_type_array"> 927 4 928 </span> 929 <span class="entry_type_visibility"> [public]</span> 930 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div> 931 932 933 </td> <!-- entry_type --> 934 935 <td class="entry_description"> 936 Gains applying to Bayer color channels for 937 white-balance 938 </td> 939 940 <td class="entry_units"> 941 </td> 942 943 <td class="entry_range"> 944 </td> 945 946 <td class="entry_notes"> 947 The 4-channel white-balance gains are defined in 948 the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain 949 for green pixels on even rows of the output,<wbr> and G_<wbr>odd 950 is the gain for greenpixels on the odd rows.<wbr> if a HAL 951 does not support a separate gain for even/<wbr>odd green channels,<wbr> 952 it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to 953 G_<wbr>even in the output result metadata.<wbr> 954 <br> 955 <br> This array is either set by HAL when the request 956 android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or 957 directly by the application in the request when the 958 android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr> 959 <br> 960 <br> The ouput should be the gains actually applied by the HAL to 961 the current frame.<wbr> 962 </td> 963 964 <td class="entry_tags"> 965 </td> 966 967 </tr> <!-- end of entry --> 968 969 970 971 <!-- end of kind --> 972 </tbody> 973 974 <!-- end of section --> 975 <tr><td colspan="7" id="section_control" class="section">control</td></tr> 976 977 978 <tr><td colspan="7" class="kind">controls</td></tr> 979 980 <thead class="entries_header"> 981 <tr> 982 <th class="th_name">Property Name</th> 983 <th class="th_type">Type</th> 984 <th class="th_description">Description</th> 985 <th class="th_units">Units</th> 986 <th class="th_range">Range</th> 987 <th class="th_notes">Notes</th> 988 <th class="th_tags">Tags</th> 989 </tr> 990 </thead> 991 992 <tbody> 993 994 995 996 997 998 999 1000 1001 1002 1003 <tr class="entry" id="controls_android.control.aeAntibandingMode"> 1004 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td> 1005 <td class="entry_type"> 1006 <span class="entry_type_name entry_type_name_enum">byte</span> 1007 1008 <span class="entry_type_visibility"> [public]</span> 1009 1010 <ul class="entry_type_enum"> 1011 <li> 1012 <span class="entry_type_enum_name">OFF</span> 1013 </li> 1014 <li> 1015 <span class="entry_type_enum_name">50HZ</span> 1016 </li> 1017 <li> 1018 <span class="entry_type_enum_name">60HZ</span> 1019 </li> 1020 <li> 1021 <span class="entry_type_enum_name">AUTO</span> 1022 </li> 1023 </ul> 1024 1025 </td> <!-- entry_type --> 1026 1027 <td class="entry_description"> 1028 Enum for controlling 1029 antibanding 1030 </td> 1031 1032 <td class="entry_units"> 1033 </td> 1034 1035 <td class="entry_range"> 1036 1037 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes 1038 </td> 1039 1040 <td class="entry_notes"> 1041 </td> 1042 1043 <td class="entry_tags"> 1044 </td> 1045 1046 </tr> <!-- end of entry --> 1047 1048 1049 <tr class="entry" id="controls_android.control.aeExposureCompensation"> 1050 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td> 1051 <td class="entry_type"> 1052 <span class="entry_type_name">int32</span> 1053 1054 <span class="entry_type_visibility"> [public]</span> 1055 1056 1057 </td> <!-- entry_type --> 1058 1059 <td class="entry_description"> 1060 Adjustment to AE target image 1061 brightness 1062 </td> 1063 1064 <td class="entry_units"> 1065 count of positive/<wbr>negative EV steps 1066 </td> 1067 1068 <td class="entry_range"> 1069 </td> 1070 1071 <td class="entry_notes"> 1072 For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an 1073 exposure compensation of +2 EV; -3 will mean an exposure 1074 compensation of -1 1075 </td> 1076 1077 <td class="entry_tags"> 1078 <ul class="entry_tags"> 1079 <li><a href="#tag_BC">BC</a></li> 1080 </ul> 1081 </td> 1082 1083 </tr> <!-- end of entry --> 1084 1085 1086 <tr class="entry" id="controls_android.control.aeLock"> 1087 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td> 1088 <td class="entry_type"> 1089 <span class="entry_type_name entry_type_name_enum">byte</span> 1090 1091 <span class="entry_type_visibility"> [public as boolean]</span> 1092 1093 <ul class="entry_type_enum"> 1094 <li> 1095 <span class="entry_type_enum_name">OFF</span> 1096 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm 1097 is free to update its parameters.<wbr></span> 1098 </li> 1099 <li> 1100 <span class="entry_type_enum_name">ON</span> 1101 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm 1102 must not update the exposure and sensitivity parameters 1103 while the lock is active</span> 1104 </li> 1105 </ul> 1106 1107 </td> <!-- entry_type --> 1108 1109 <td class="entry_description"> 1110 Whether AE is currently locked to its latest 1111 calculated values 1112 </td> 1113 1114 <td class="entry_units"> 1115 </td> 1116 1117 <td class="entry_range"> 1118 </td> 1119 1120 <td class="entry_notes"> 1121 Note that even when AE is locked,<wbr> the flash may be 1122 fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr> 1123 ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr> 1124 </td> 1125 1126 <td class="entry_tags"> 1127 <ul class="entry_tags"> 1128 <li><a href="#tag_BC">BC</a></li> 1129 </ul> 1130 </td> 1131 1132 </tr> <!-- end of entry --> 1133 1134 1135 <tr class="entry" id="controls_android.control.aeMode"> 1136 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td> 1137 <td class="entry_type"> 1138 <span class="entry_type_name entry_type_name_enum">byte</span> 1139 1140 <span class="entry_type_visibility"> [public]</span> 1141 1142 <ul class="entry_type_enum"> 1143 <li> 1144 <span class="entry_type_enum_name">OFF</span> 1145 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr> 1146 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span> 1147 </li> 1148 <li> 1149 <span class="entry_type_enum_name">ON</span> 1150 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash 1151 control</span> 1152 </li> 1153 <li> 1154 <span class="entry_type_enum_name">ON_AUTO_FLASH</span> 1155 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto 1156 flash control; flash may be fired when precapture 1157 trigger is activated,<wbr> and for captures for which 1158 captureIntent = STILL_<wbr>CAPTURE</span> 1159 </li> 1160 <li> 1161 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span> 1162 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto 1163 flash control for precapture trigger and always flash 1164 when captureIntent = STILL_<wbr>CAPTURE</span> 1165 </li> 1166 <li> 1167 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span> 1168 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr> 1169 If deemed necessary,<wbr> red eye reduction sequence should 1170 fire when precapture trigger is activated,<wbr> and final 1171 flash should fire when captureIntent = 1172 STILL_<wbr>CAPTURE</span> 1173 </li> 1174 </ul> 1175 1176 </td> <!-- entry_type --> 1177 1178 <td class="entry_description"> 1179 Whether AE is currently updating the sensor 1180 exposure and sensitivity fields 1181 </td> 1182 1183 <td class="entry_units"> 1184 </td> 1185 1186 <td class="entry_range"> 1187 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes 1188 </td> 1189 1190 <td class="entry_notes"> 1191 Only effective if android.<wbr>control.<wbr>mode = 1192 AUTO 1193 </td> 1194 1195 <td class="entry_tags"> 1196 <ul class="entry_tags"> 1197 <li><a href="#tag_BC">BC</a></li> 1198 </ul> 1199 </td> 1200 1201 </tr> <!-- end of entry --> 1202 1203 1204 <tr class="entry" id="controls_android.control.aeRegions"> 1205 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td> 1206 <td class="entry_type"> 1207 <span class="entry_type_name">int32</span> 1208 <span class="entry_type_container">x</span> 1209 1210 <span class="entry_type_array"> 1211 5 x area_count 1212 </span> 1213 <span class="entry_type_visibility"> [public]</span> 1214 1215 1216 </td> <!-- entry_type --> 1217 1218 <td class="entry_description"> 1219 List of areas to use for 1220 metering 1221 </td> 1222 1223 <td class="entry_units"> 1224 </td> 1225 1226 <td class="entry_range"> 1227 </td> 1228 1229 <td class="entry_notes"> 1230 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 1231 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 1232 specified coordinates.<wbr> 1233 <br> 1234 <br> The coordinate system is based on the active pixel array,<wbr> 1235 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 1236 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 1237 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 1238 bottom-right pixel in the active pixel array.<wbr> The weight 1239 should be nonnegative.<wbr> 1240 <br> 1241 <br> If all regions have 0 weight,<wbr> then no specific metering area 1242 needs to be used by the HAL.<wbr> If the metering region is 1243 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 1244 should ignore the sections outside the region and output the 1245 used sections in the frame metadata 1246 </td> 1247 1248 <td class="entry_tags"> 1249 <ul class="entry_tags"> 1250 <li><a href="#tag_BC">BC</a></li> 1251 </ul> 1252 </td> 1253 1254 </tr> <!-- end of entry --> 1255 1256 1257 <tr class="entry" id="controls_android.control.aeTargetFpsRange"> 1258 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td> 1259 <td class="entry_type"> 1260 <span class="entry_type_name">int32</span> 1261 <span class="entry_type_container">x</span> 1262 1263 <span class="entry_type_array"> 1264 2 1265 </span> 1266 <span class="entry_type_visibility"> [public]</span> 1267 1268 1269 </td> <!-- entry_type --> 1270 1271 <td class="entry_description"> 1272 Range over which fps can be adjusted to 1273 maintain exposure 1274 </td> 1275 1276 <td class="entry_units"> 1277 </td> 1278 1279 <td class="entry_range"> 1280 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges 1281 </td> 1282 1283 <td class="entry_notes"> 1284 Only constrains AE algorithm,<wbr> not manual control 1285 of android.<wbr>sensor.<wbr>exposure<wbr>Time 1286 </td> 1287 1288 <td class="entry_tags"> 1289 <ul class="entry_tags"> 1290 <li><a href="#tag_BC">BC</a></li> 1291 </ul> 1292 </td> 1293 1294 </tr> <!-- end of entry --> 1295 1296 1297 <tr class="entry" id="controls_android.control.aePrecaptureTrigger"> 1298 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td> 1299 <td class="entry_type"> 1300 <span class="entry_type_name entry_type_name_enum">byte</span> 1301 1302 <span class="entry_type_visibility"> [public]</span> 1303 1304 <ul class="entry_type_enum"> 1305 <li> 1306 <span class="entry_type_enum_name">IDLE</span> 1307 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span> 1308 </li> 1309 <li> 1310 <span class="entry_type_enum_name">START</span> 1311 <span class="entry_type_enum_notes">The precapture metering sequence 1312 must be started.<wbr> The exact effect of the precapture 1313 trigger depends on the current AE mode and 1314 state.<wbr></span> 1315 </li> 1316 </ul> 1317 1318 </td> <!-- entry_type --> 1319 1320 <td class="entry_description"> 1321 Whether the HAL must trigger precapture 1322 metering.<wbr> 1323 </td> 1324 1325 <td class="entry_units"> 1326 </td> 1327 1328 <td class="entry_range"> 1329 </td> 1330 1331 <td class="entry_notes"> 1332 This entry is normally set to IDLE,<wbr> or is not 1333 included at all in the request settings.<wbr> When included and 1334 set to START,<wbr> the HAL must trigger the autoexposure 1335 precapture metering sequence.<wbr> 1336 <br> 1337 <br> The effect of AE precapture trigger depends on the current 1338 AE mode and state; see the camera HAL device v3 header for 1339 details.<wbr> 1340 </td> 1341 1342 <td class="entry_tags"> 1343 <ul class="entry_tags"> 1344 <li><a href="#tag_BC">BC</a></li> 1345 </ul> 1346 </td> 1347 1348 </tr> <!-- end of entry --> 1349 1350 1351 <tr class="entry" id="controls_android.control.afMode"> 1352 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td> 1353 <td class="entry_type"> 1354 <span class="entry_type_name entry_type_name_enum">byte</span> 1355 1356 <span class="entry_type_visibility"> [public]</span> 1357 1358 <ul class="entry_type_enum"> 1359 <li> 1360 <span class="entry_type_enum_name">OFF</span> 1361 <span class="entry_type_enum_notes">The 3A routines do not control the lens; 1362 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the 1363 application</span> 1364 </li> 1365 <li> 1366 <span class="entry_type_enum_name">AUTO</span> 1367 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> 1368 1369 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens 1370 is fixed focus In this mode,<wbr> the lens does not move unless 1371 the autofocus trigger action is called.<wbr> When that trigger 1372 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to 1373 the outcome of the scan (FOCUSED or 1374 NOT_<wbr>FOCUSED).<wbr> 1375 1376 Triggering cancel AF resets the lens position to default,<wbr> 1377 and sets the AF state to INACTIVE.<wbr></span> 1378 </li> 1379 <li> 1380 <span class="entry_type_enum_name">MACRO</span> 1381 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the 1382 autofocus trigger action is called.<wbr> 1383 1384 When that trigger is activated,<wbr> AF must transition to 1385 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or 1386 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens 1387 position to default,<wbr> and sets the AF state to 1388 INACTIVE.<wbr></span> 1389 </li> 1390 <li> 1391 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span> 1392 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens 1393 position continually to attempt to provide a 1394 constantly-in-focus image stream.<wbr> 1395 1396 The focusing behavior should be suitable for good quality 1397 video recording; typically this means slower focus 1398 movement and no overshoots.<wbr> When the AF trigger is not 1399 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr> 1400 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED 1401 states as appropriate.<wbr> When the AF trigger is activated,<wbr> 1402 the algorithm should immediately transition into 1403 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the 1404 lens position until a cancel AF trigger is received.<wbr> 1405 1406 Once cancel is received,<wbr> the algorithm should transition 1407 back to INACTIVE and resume passive scan.<wbr> Note that this 1408 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an 1409 ongoing PASSIVE_<wbr>SCAN must immediately be 1410 canceled.<wbr></span> 1411 </li> 1412 <li> 1413 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span> 1414 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens 1415 position continually to attempt to provide a 1416 constantly-in-focus image stream.<wbr> 1417 1418 The focusing behavior should be suitable for still image 1419 capture; typically this means focusing as fast as 1420 possible.<wbr> When the AF trigger is not involved,<wbr> the AF 1421 algorithm should start in INACTIVE state,<wbr> and then 1422 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as 1423 appropriate as it attempts to maintain focus.<wbr> When the AF 1424 trigger is activated,<wbr> the algorithm should finish its 1425 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into 1426 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the 1427 lens position until a cancel AF trigger is received.<wbr> 1428 1429 When the AF cancel trigger is activated,<wbr> the algorithm 1430 should transition back to INACTIVE and then act as if it 1431 has just been started.<wbr></span> 1432 </li> 1433 <li> 1434 <span class="entry_type_enum_name">EDOF</span> 1435 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF 1436 trigger is ignored,<wbr> AF state should always be 1437 INACTIVE.<wbr></span> 1438 </li> 1439 </ul> 1440 1441 </td> <!-- entry_type --> 1442 1443 <td class="entry_description"> 1444 Whether AF is currently enabled,<wbr> and what 1445 mode it is set to 1446 </td> 1447 1448 <td class="entry_units"> 1449 </td> 1450 1451 <td class="entry_range"> 1452 </td> 1453 1454 <td class="entry_notes"> 1455 </td> 1456 1457 <td class="entry_tags"> 1458 <ul class="entry_tags"> 1459 <li><a href="#tag_BC">BC</a></li> 1460 </ul> 1461 </td> 1462 1463 </tr> <!-- end of entry --> 1464 1465 1466 <tr class="entry" id="controls_android.control.afRegions"> 1467 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td> 1468 <td class="entry_type"> 1469 <span class="entry_type_name">int32</span> 1470 <span class="entry_type_container">x</span> 1471 1472 <span class="entry_type_array"> 1473 5 x area_count 1474 </span> 1475 <span class="entry_type_visibility"> [public]</span> 1476 1477 1478 </td> <!-- entry_type --> 1479 1480 <td class="entry_description"> 1481 List of areas to use for focus 1482 estimation 1483 </td> 1484 1485 <td class="entry_units"> 1486 </td> 1487 1488 <td class="entry_range"> 1489 </td> 1490 1491 <td class="entry_notes"> 1492 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 1493 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 1494 specified coordinates.<wbr> 1495 <br> 1496 <br> The coordinate system is based on the active pixel array,<wbr> 1497 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 1498 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 1499 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 1500 bottom-right pixel in the active pixel array.<wbr> The weight 1501 should be nonnegative.<wbr> 1502 <br> 1503 <br> If all regions have 0 weight,<wbr> then no specific focus area 1504 needs to be used by the HAL.<wbr> If the focusing region is 1505 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 1506 should ignore the sections outside the region and output the 1507 used sections in the frame metadata 1508 </td> 1509 1510 <td class="entry_tags"> 1511 <ul class="entry_tags"> 1512 <li><a href="#tag_BC">BC</a></li> 1513 </ul> 1514 </td> 1515 1516 </tr> <!-- end of entry --> 1517 1518 1519 <tr class="entry" id="controls_android.control.afTrigger"> 1520 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td> 1521 <td class="entry_type"> 1522 <span class="entry_type_name entry_type_name_enum">byte</span> 1523 1524 <span class="entry_type_visibility"> [public]</span> 1525 1526 <ul class="entry_type_enum"> 1527 <li> 1528 <span class="entry_type_enum_name">IDLE</span> 1529 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span> 1530 </li> 1531 <li> 1532 <span class="entry_type_enum_name">START</span> 1533 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span> 1534 </li> 1535 <li> 1536 <span class="entry_type_enum_name">CANCEL</span> 1537 <span class="entry_type_enum_notes">Autofocus must return to initial 1538 state,<wbr> and cancel any active trigger.<wbr></span> 1539 </li> 1540 </ul> 1541 1542 </td> <!-- entry_type --> 1543 1544 <td class="entry_description"> 1545 Whether the HAL must trigger autofocus.<wbr> 1546 </td> 1547 1548 <td class="entry_units"> 1549 </td> 1550 1551 <td class="entry_range"> 1552 </td> 1553 1554 <td class="entry_notes"> 1555 This entry is normally set to IDLE,<wbr> or is not 1556 included at all in the request settings.<wbr> 1557 <br> 1558 <br> When included and set to START,<wbr> the HAL must trigger the 1559 autofocus algorithm.<wbr> The effect of AF trigger depends on the 1560 current AF mode and state; see the camera HAL device v3 1561 header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel 1562 any active trigger,<wbr> and return to initial AF state.<wbr> 1563 </td> 1564 1565 <td class="entry_tags"> 1566 <ul class="entry_tags"> 1567 <li><a href="#tag_BC">BC</a></li> 1568 </ul> 1569 </td> 1570 1571 </tr> <!-- end of entry --> 1572 1573 1574 <tr class="entry" id="controls_android.control.awbLock"> 1575 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td> 1576 <td class="entry_type"> 1577 <span class="entry_type_name entry_type_name_enum">byte</span> 1578 1579 <span class="entry_type_visibility"> [public as boolean]</span> 1580 1581 <ul class="entry_type_enum"> 1582 <li> 1583 <span class="entry_type_enum_name">OFF</span> 1584 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB 1585 algorithm is free to update its parameters if in AUTO 1586 mode.<wbr></span> 1587 </li> 1588 <li> 1589 <span class="entry_type_enum_name">ON</span> 1590 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB 1591 algorithm must not update the exposure and sensitivity 1592 parameters while the lock is active</span> 1593 </li> 1594 </ul> 1595 1596 </td> <!-- entry_type --> 1597 1598 <td class="entry_description"> 1599 Whether AWB is currently locked to its 1600 latest calculated values 1601 </td> 1602 1603 <td class="entry_units"> 1604 </td> 1605 1606 <td class="entry_range"> 1607 </td> 1608 1609 <td class="entry_notes"> 1610 Note that AWB lock is only meaningful for AUTO 1611 mode; in other modes,<wbr> AWB is already fixed to a specific 1612 setting 1613 </td> 1614 1615 <td class="entry_tags"> 1616 <ul class="entry_tags"> 1617 <li><a href="#tag_BC">BC</a></li> 1618 </ul> 1619 </td> 1620 1621 </tr> <!-- end of entry --> 1622 1623 1624 <tr class="entry" id="controls_android.control.awbMode"> 1625 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td> 1626 <td class="entry_type"> 1627 <span class="entry_type_name entry_type_name_enum">byte</span> 1628 1629 <span class="entry_type_visibility"> [public]</span> 1630 1631 <ul class="entry_type_enum"> 1632 <li> 1633 <span class="entry_type_enum_name">OFF</span> 1634 </li> 1635 <li> 1636 <span class="entry_type_enum_name">AUTO</span> 1637 </li> 1638 <li> 1639 <span class="entry_type_enum_name">INCANDESCENT</span> 1640 </li> 1641 <li> 1642 <span class="entry_type_enum_name">FLUORESCENT</span> 1643 </li> 1644 <li> 1645 <span class="entry_type_enum_name">WARM_FLUORESCENT</span> 1646 </li> 1647 <li> 1648 <span class="entry_type_enum_name">DAYLIGHT</span> 1649 </li> 1650 <li> 1651 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span> 1652 </li> 1653 <li> 1654 <span class="entry_type_enum_name">TWILIGHT</span> 1655 </li> 1656 <li> 1657 <span class="entry_type_enum_name">SHADE</span> 1658 </li> 1659 </ul> 1660 1661 </td> <!-- entry_type --> 1662 1663 <td class="entry_description"> 1664 Whether AWB is currently setting the color 1665 transform fields,<wbr> and what its illumination target 1666 is 1667 </td> 1668 1669 <td class="entry_units"> 1670 </td> 1671 1672 <td class="entry_range"> 1673 </td> 1674 1675 <td class="entry_notes"> 1676 [BC - AWB lock,<wbr>AWB modes] 1677 </td> 1678 1679 <td class="entry_tags"> 1680 <ul class="entry_tags"> 1681 <li><a href="#tag_BC">BC</a></li> 1682 <li><a href="#tag_AWB">AWB</a></li> 1683 </ul> 1684 </td> 1685 1686 </tr> <!-- end of entry --> 1687 1688 1689 <tr class="entry" id="controls_android.control.awbRegions"> 1690 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td> 1691 <td class="entry_type"> 1692 <span class="entry_type_name">int32</span> 1693 <span class="entry_type_container">x</span> 1694 1695 <span class="entry_type_array"> 1696 5 x area_count 1697 </span> 1698 <span class="entry_type_visibility"> [public]</span> 1699 1700 1701 </td> <!-- entry_type --> 1702 1703 <td class="entry_description"> 1704 List of areas to use for illuminant 1705 estimation 1706 </td> 1707 1708 <td class="entry_units"> 1709 </td> 1710 1711 <td class="entry_range"> 1712 </td> 1713 1714 <td class="entry_notes"> 1715 Only used in AUTO mode.<wbr> 1716 <br> 1717 <br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 1718 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 1719 specified coordinates.<wbr> 1720 <br> 1721 <br> The coordinate system is based on the active pixel array,<wbr> 1722 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 1723 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 1724 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 1725 bottom-right pixel in the active pixel array.<wbr> The weight 1726 should be nonnegative.<wbr> 1727 <br> 1728 <br> If all regions have 0 weight,<wbr> then no specific metering area 1729 needs to be used by the HAL.<wbr> If the metering region is 1730 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 1731 should ignore the sections outside the region and output the 1732 used sections in the frame metadata 1733 </td> 1734 1735 <td class="entry_tags"> 1736 <ul class="entry_tags"> 1737 <li><a href="#tag_BC">BC</a></li> 1738 </ul> 1739 </td> 1740 1741 </tr> <!-- end of entry --> 1742 1743 1744 <tr class="entry" id="controls_android.control.captureIntent"> 1745 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td> 1746 <td class="entry_type"> 1747 <span class="entry_type_name entry_type_name_enum">byte</span> 1748 1749 <span class="entry_type_visibility"> [public]</span> 1750 1751 <ul class="entry_type_enum"> 1752 <li> 1753 <span class="entry_type_enum_name">CUSTOM</span> 1754 <span class="entry_type_enum_notes">This request doesn't fall into the other 1755 categories.<wbr> Default to preview-like 1756 behavior.<wbr></span> 1757 </li> 1758 <li> 1759 <span class="entry_type_enum_name">PREVIEW</span> 1760 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The 1761 precapture trigger may be used to start off a metering 1762 w/<wbr>flash sequence</span> 1763 </li> 1764 <li> 1765 <span class="entry_type_enum_name">STILL_CAPTURE</span> 1766 <span class="entry_type_enum_notes">This request is for a still capture-type 1767 usecase.<wbr></span> 1768 </li> 1769 <li> 1770 <span class="entry_type_enum_name">VIDEO_RECORD</span> 1771 <span class="entry_type_enum_notes">This request is for a video recording 1772 usecase.<wbr></span> 1773 </li> 1774 <li> 1775 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span> 1776 <span class="entry_type_enum_notes">This request is for a video snapshot (still 1777 image while recording video) usecase</span> 1778 </li> 1779 <li> 1780 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span> 1781 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the 1782 application will stream full-resolution images and 1783 reprocess one or several later for a final 1784 capture</span> 1785 </li> 1786 </ul> 1787 1788 </td> <!-- entry_type --> 1789 1790 <td class="entry_description"> 1791 Information to 3A routines about the purpose 1792 of this capture,<wbr> to help decide optimal 3A 1793 strategy 1794 </td> 1795 1796 <td class="entry_units"> 1797 </td> 1798 1799 <td class="entry_range"> 1800 all must be supported 1801 </td> 1802 1803 <td class="entry_notes"> 1804 Only used if android.<wbr>control.<wbr>mode != OFF.<wbr> 1805 </td> 1806 1807 <td class="entry_tags"> 1808 <ul class="entry_tags"> 1809 <li><a href="#tag_BC">BC</a></li> 1810 </ul> 1811 </td> 1812 1813 </tr> <!-- end of entry --> 1814 1815 1816 <tr class="entry" id="controls_android.control.effectMode"> 1817 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td> 1818 <td class="entry_type"> 1819 <span class="entry_type_name entry_type_name_enum">byte</span> 1820 1821 <span class="entry_type_visibility"> [public]</span> 1822 1823 <ul class="entry_type_enum"> 1824 <li> 1825 <span class="entry_type_enum_name">OFF</span> 1826 </li> 1827 <li> 1828 <span class="entry_type_enum_name">MONO</span> 1829 <span class="entry_type_enum_optional">optional</span> 1830 </li> 1831 <li> 1832 <span class="entry_type_enum_name">NEGATIVE</span> 1833 <span class="entry_type_enum_optional">optional</span> 1834 </li> 1835 <li> 1836 <span class="entry_type_enum_name">SOLARIZE</span> 1837 <span class="entry_type_enum_optional">optional</span> 1838 </li> 1839 <li> 1840 <span class="entry_type_enum_name">SEPIA</span> 1841 <span class="entry_type_enum_optional">optional</span> 1842 </li> 1843 <li> 1844 <span class="entry_type_enum_name">POSTERIZE</span> 1845 <span class="entry_type_enum_optional">optional</span> 1846 </li> 1847 <li> 1848 <span class="entry_type_enum_name">WHITEBOARD</span> 1849 <span class="entry_type_enum_optional">optional</span> 1850 </li> 1851 <li> 1852 <span class="entry_type_enum_name">BLACKBOARD</span> 1853 <span class="entry_type_enum_optional">optional</span> 1854 </li> 1855 <li> 1856 <span class="entry_type_enum_name">AQUA</span> 1857 <span class="entry_type_enum_optional">optional</span> 1858 </li> 1859 </ul> 1860 1861 </td> <!-- entry_type --> 1862 1863 <td class="entry_description"> 1864 Whether any special color effect is in use.<wbr> 1865 Only used if android.<wbr>control.<wbr>mode != OFF 1866 </td> 1867 1868 <td class="entry_units"> 1869 </td> 1870 1871 <td class="entry_range"> 1872 android.<wbr>control.<wbr>available<wbr>Effects 1873 </td> 1874 1875 <td class="entry_notes"> 1876 </td> 1877 1878 <td class="entry_tags"> 1879 <ul class="entry_tags"> 1880 <li><a href="#tag_BC">BC</a></li> 1881 </ul> 1882 </td> 1883 1884 </tr> <!-- end of entry --> 1885 1886 1887 <tr class="entry" id="controls_android.control.mode"> 1888 <td class="entry_name">android.<wbr>control.<wbr>mode</td> 1889 <td class="entry_type"> 1890 <span class="entry_type_name entry_type_name_enum">byte</span> 1891 1892 <span class="entry_type_visibility"> [public]</span> 1893 1894 <ul class="entry_type_enum"> 1895 <li> 1896 <span class="entry_type_enum_name">OFF</span> 1897 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A 1898 routines are disabled,<wbr> no other settings in 1899 android.<wbr>control.<wbr>* have any effect</span> 1900 </li> 1901 <li> 1902 <span class="entry_type_enum_name">AUTO</span> 1903 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr> 1904 Manual control of capture parameters is disabled.<wbr> All 1905 controls in android.<wbr>control.<wbr>* besides sceneMode take 1906 effect</span> 1907 </li> 1908 <li> 1909 <span class="entry_type_enum_name">USE_SCENE_MODE</span> 1910 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables 1911 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode 1912 controls; the HAL must ignore those settings while 1913 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY 1914 scene mode).<wbr> Other control entries are still active.<wbr> 1915 This setting can only be used if availableSceneModes != 1916 UNSUPPORTED</span> 1917 </li> 1918 </ul> 1919 1920 </td> <!-- entry_type --> 1921 1922 <td class="entry_description"> 1923 Overall mode of 3A control 1924 routines 1925 </td> 1926 1927 <td class="entry_units"> 1928 </td> 1929 1930 <td class="entry_range"> 1931 all must be supported 1932 </td> 1933 1934 <td class="entry_notes"> 1935 </td> 1936 1937 <td class="entry_tags"> 1938 <ul class="entry_tags"> 1939 <li><a href="#tag_BC">BC</a></li> 1940 </ul> 1941 </td> 1942 1943 </tr> <!-- end of entry --> 1944 1945 1946 <tr class="entry" id="controls_android.control.sceneMode"> 1947 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td> 1948 <td class="entry_type"> 1949 <span class="entry_type_name entry_type_name_enum">byte</span> 1950 1951 <span class="entry_type_visibility"> [public]</span> 1952 1953 <ul class="entry_type_enum"> 1954 <li> 1955 <span class="entry_type_enum_name">UNSUPPORTED</span> 1956 <span class="entry_type_enum_value">0</span> 1957 </li> 1958 <li> 1959 <span class="entry_type_enum_name">FACE_PRIORITY</span> 1960 <span class="entry_type_enum_notes">if face detection support exists Use face 1961 detection data to drive 3A routines.<wbr> If face detection 1962 statistics are disabled,<wbr> should still operate correctly 1963 (but not return face detection statistics to the 1964 framework).<wbr> 1965 1966 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode 1967 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to 1968 compatibility concerns with the old camera 1969 API</span> 1970 </li> 1971 <li> 1972 <span class="entry_type_enum_name">ACTION</span> 1973 <span class="entry_type_enum_optional">optional</span> 1974 </li> 1975 <li> 1976 <span class="entry_type_enum_name">PORTRAIT</span> 1977 <span class="entry_type_enum_optional">optional</span> 1978 </li> 1979 <li> 1980 <span class="entry_type_enum_name">LANDSCAPE</span> 1981 <span class="entry_type_enum_optional">optional</span> 1982 </li> 1983 <li> 1984 <span class="entry_type_enum_name">NIGHT</span> 1985 <span class="entry_type_enum_optional">optional</span> 1986 </li> 1987 <li> 1988 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span> 1989 <span class="entry_type_enum_optional">optional</span> 1990 </li> 1991 <li> 1992 <span class="entry_type_enum_name">THEATRE</span> 1993 <span class="entry_type_enum_optional">optional</span> 1994 </li> 1995 <li> 1996 <span class="entry_type_enum_name">BEACH</span> 1997 <span class="entry_type_enum_optional">optional</span> 1998 </li> 1999 <li> 2000 <span class="entry_type_enum_name">SNOW</span> 2001 <span class="entry_type_enum_optional">optional</span> 2002 </li> 2003 <li> 2004 <span class="entry_type_enum_name">SUNSET</span> 2005 <span class="entry_type_enum_optional">optional</span> 2006 </li> 2007 <li> 2008 <span class="entry_type_enum_name">STEADYPHOTO</span> 2009 <span class="entry_type_enum_optional">optional</span> 2010 </li> 2011 <li> 2012 <span class="entry_type_enum_name">FIREWORKS</span> 2013 <span class="entry_type_enum_optional">optional</span> 2014 </li> 2015 <li> 2016 <span class="entry_type_enum_name">SPORTS</span> 2017 <span class="entry_type_enum_optional">optional</span> 2018 </li> 2019 <li> 2020 <span class="entry_type_enum_name">PARTY</span> 2021 <span class="entry_type_enum_optional">optional</span> 2022 </li> 2023 <li> 2024 <span class="entry_type_enum_name">CANDLELIGHT</span> 2025 <span class="entry_type_enum_optional">optional</span> 2026 </li> 2027 <li> 2028 <span class="entry_type_enum_name">BARCODE</span> 2029 <span class="entry_type_enum_optional">optional</span> 2030 </li> 2031 </ul> 2032 2033 </td> <!-- entry_type --> 2034 2035 <td class="entry_description"> 2036 Which scene mode is active when 2037 android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE 2038 </td> 2039 2040 <td class="entry_units"> 2041 </td> 2042 2043 <td class="entry_range"> 2044 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes 2045 </td> 2046 2047 <td class="entry_notes"> 2048 </td> 2049 2050 <td class="entry_tags"> 2051 <ul class="entry_tags"> 2052 <li><a href="#tag_BC">BC</a></li> 2053 </ul> 2054 </td> 2055 2056 </tr> <!-- end of entry --> 2057 2058 2059 <tr class="entry" id="controls_android.control.videoStabilizationMode"> 2060 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td> 2061 <td class="entry_type"> 2062 <span class="entry_type_name entry_type_name_enum">byte</span> 2063 2064 <span class="entry_type_visibility"> [public as boolean]</span> 2065 2066 <ul class="entry_type_enum"> 2067 <li> 2068 <span class="entry_type_enum_name">OFF</span> 2069 </li> 2070 <li> 2071 <span class="entry_type_enum_name">ON</span> 2072 </li> 2073 </ul> 2074 2075 </td> <!-- entry_type --> 2076 2077 <td class="entry_description"> 2078 Whether video stabilization is 2079 active 2080 </td> 2081 2082 <td class="entry_units"> 2083 </td> 2084 2085 <td class="entry_range"> 2086 </td> 2087 2088 <td class="entry_notes"> 2089 If enabled,<wbr> video stabilization can modify the 2090 android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream 2091 stabilized 2092 </td> 2093 2094 <td class="entry_tags"> 2095 <ul class="entry_tags"> 2096 <li><a href="#tag_BC">BC</a></li> 2097 </ul> 2098 </td> 2099 2100 </tr> <!-- end of entry --> 2101 2102 2103 2104 <!-- end of kind --> 2105 </tbody> 2106 <tr><td colspan="7" class="kind">static</td></tr> 2107 2108 <thead class="entries_header"> 2109 <tr> 2110 <th class="th_name">Property Name</th> 2111 <th class="th_type">Type</th> 2112 <th class="th_description">Description</th> 2113 <th class="th_units">Units</th> 2114 <th class="th_range">Range</th> 2115 <th class="th_notes">Notes</th> 2116 <th class="th_tags">Tags</th> 2117 </tr> 2118 </thead> 2119 2120 <tbody> 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes"> 2132 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td> 2133 <td class="entry_type"> 2134 <span class="entry_type_name">byte</span> 2135 <span class="entry_type_container">x</span> 2136 2137 <span class="entry_type_array"> 2138 n 2139 </span> 2140 <span class="entry_type_visibility"> [public]</span> 2141 <div class="entry_type_notes">list of enums</div> 2142 2143 2144 </td> <!-- entry_type --> 2145 2146 <td class="entry_description"> 2147 Which set of antibanding modes are 2148 supported 2149 </td> 2150 2151 <td class="entry_units"> 2152 </td> 2153 2154 <td class="entry_range"> 2155 </td> 2156 2157 <td class="entry_notes"> 2158 </td> 2159 2160 <td class="entry_tags"> 2161 </td> 2162 2163 </tr> <!-- end of entry --> 2164 2165 2166 <tr class="entry" id="static_android.control.aeAvailableModes"> 2167 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td> 2168 <td class="entry_type"> 2169 <span class="entry_type_name">byte</span> 2170 <span class="entry_type_container">x</span> 2171 2172 <span class="entry_type_array"> 2173 n 2174 </span> 2175 <span class="entry_type_visibility"> [system]</span> 2176 <div class="entry_type_notes">list of enums</div> 2177 2178 2179 </td> <!-- entry_type --> 2180 2181 <td class="entry_description"> 2182 Which subset of AE modes is 2183 supported 2184 </td> 2185 2186 <td class="entry_units"> 2187 </td> 2188 2189 <td class="entry_range"> 2190 OFF,<wbr> ON must be supported.<wbr> 2191 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash 2192 unit is available 2193 </td> 2194 2195 <td class="entry_notes"> 2196 </td> 2197 2198 <td class="entry_tags"> 2199 </td> 2200 2201 </tr> <!-- end of entry --> 2202 2203 2204 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges"> 2205 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td> 2206 <td class="entry_type"> 2207 <span class="entry_type_name">int32</span> 2208 <span class="entry_type_container">x</span> 2209 2210 <span class="entry_type_array"> 2211 2 x n 2212 </span> 2213 <span class="entry_type_visibility"> [public]</span> 2214 <div class="entry_type_notes">list of pairs of frame rates</div> 2215 2216 2217 </td> <!-- entry_type --> 2218 2219 <td class="entry_description"> 2220 List of frame rate ranges supported by the 2221 AE algorithm/<wbr>hardware 2222 </td> 2223 2224 <td class="entry_units"> 2225 </td> 2226 2227 <td class="entry_range"> 2228 </td> 2229 2230 <td class="entry_notes"> 2231 </td> 2232 2233 <td class="entry_tags"> 2234 </td> 2235 2236 </tr> <!-- end of entry --> 2237 2238 2239 <tr class="entry" id="static_android.control.aeCompensationRange"> 2240 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td> 2241 <td class="entry_type"> 2242 <span class="entry_type_name">int32</span> 2243 <span class="entry_type_container">x</span> 2244 2245 <span class="entry_type_array"> 2246 2 2247 </span> 2248 <span class="entry_type_visibility"> [public]</span> 2249 2250 2251 </td> <!-- entry_type --> 2252 2253 <td class="entry_description"> 2254 Maximum and minimum exposure compensation 2255 setting,<wbr> in counts of 2256 android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size 2257 </td> 2258 2259 <td class="entry_units"> 2260 </td> 2261 2262 <td class="entry_range"> 2263 At least (-2,<wbr>2)/<wbr>(exp compensation step 2264 size) 2265 </td> 2266 2267 <td class="entry_notes"> 2268 </td> 2269 2270 <td class="entry_tags"> 2271 <ul class="entry_tags"> 2272 <li><a href="#tag_BC">BC</a></li> 2273 </ul> 2274 </td> 2275 2276 </tr> <!-- end of entry --> 2277 2278 2279 <tr class="entry" id="static_android.control.aeCompensationStep"> 2280 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td> 2281 <td class="entry_type"> 2282 <span class="entry_type_name">rational</span> 2283 2284 <span class="entry_type_visibility"> [public]</span> 2285 2286 2287 </td> <!-- entry_type --> 2288 2289 <td class="entry_description"> 2290 Smallest step by which exposure compensation 2291 can be changed 2292 </td> 2293 2294 <td class="entry_units"> 2295 </td> 2296 2297 <td class="entry_range"> 2298 <= 1/<wbr>2 2299 </td> 2300 2301 <td class="entry_notes"> 2302 </td> 2303 2304 <td class="entry_tags"> 2305 <ul class="entry_tags"> 2306 <li><a href="#tag_BC">BC</a></li> 2307 </ul> 2308 </td> 2309 2310 </tr> <!-- end of entry --> 2311 2312 2313 <tr class="entry" id="static_android.control.afAvailableModes"> 2314 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td> 2315 <td class="entry_type"> 2316 <span class="entry_type_name">byte</span> 2317 <span class="entry_type_container">x</span> 2318 2319 <span class="entry_type_array"> 2320 n 2321 </span> 2322 <span class="entry_type_visibility"> [public]</span> 2323 <div class="entry_type_notes">List of enums</div> 2324 2325 2326 </td> <!-- entry_type --> 2327 2328 <td class="entry_description"> 2329 List of AF modes that can be 2330 selected 2331 </td> 2332 2333 <td class="entry_units"> 2334 </td> 2335 2336 <td class="entry_range"> 2337 OFF must be included.<wbr> AUTO must be supported if 2338 lens allows for changing focus 2339 </td> 2340 2341 <td class="entry_notes"> 2342 </td> 2343 2344 <td class="entry_tags"> 2345 <ul class="entry_tags"> 2346 <li><a href="#tag_BC">BC</a></li> 2347 </ul> 2348 </td> 2349 2350 </tr> <!-- end of entry --> 2351 2352 2353 <tr class="entry" id="static_android.control.availableEffects"> 2354 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td> 2355 <td class="entry_type"> 2356 <span class="entry_type_name">byte</span> 2357 <span class="entry_type_container">x</span> 2358 2359 <span class="entry_type_array"> 2360 n 2361 </span> 2362 <span class="entry_type_visibility"> [public]</span> 2363 <div class="entry_type_notes">list of enums</div> 2364 2365 2366 </td> <!-- entry_type --> 2367 2368 <td class="entry_description"> 2369 what subset of the full color effect enum 2370 list is supported 2371 </td> 2372 2373 <td class="entry_units"> 2374 </td> 2375 2376 <td class="entry_range"> 2377 OFF must be listed 2378 </td> 2379 2380 <td class="entry_notes"> 2381 </td> 2382 2383 <td class="entry_tags"> 2384 <ul class="entry_tags"> 2385 <li><a href="#tag_BC">BC</a></li> 2386 </ul> 2387 </td> 2388 2389 </tr> <!-- end of entry --> 2390 2391 2392 <tr class="entry" id="static_android.control.availableSceneModes"> 2393 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td> 2394 <td class="entry_type"> 2395 <span class="entry_type_name">byte</span> 2396 <span class="entry_type_container">x</span> 2397 2398 <span class="entry_type_array"> 2399 n 2400 </span> 2401 <span class="entry_type_visibility"> [public]</span> 2402 <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> 2403 2404 2405 </td> <!-- entry_type --> 2406 2407 <td class="entry_description"> 2408 what subset of the scene mode enum list is 2409 supported.<wbr> 2410 </td> 2411 2412 <td class="entry_units"> 2413 </td> 2414 2415 <td class="entry_range"> 2416 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face 2417 detection is supported 2418 </td> 2419 2420 <td class="entry_notes"> 2421 </td> 2422 2423 <td class="entry_tags"> 2424 <ul class="entry_tags"> 2425 <li><a href="#tag_BC">BC</a></li> 2426 </ul> 2427 </td> 2428 2429 </tr> <!-- end of entry --> 2430 2431 2432 <tr class="entry" id="static_android.control.availableVideoStabilizationModes"> 2433 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td> 2434 <td class="entry_type"> 2435 <span class="entry_type_name">byte</span> 2436 <span class="entry_type_container">x</span> 2437 2438 <span class="entry_type_array"> 2439 n 2440 </span> 2441 <span class="entry_type_visibility"> [public]</span> 2442 <div class="entry_type_notes">List of enums.<wbr></div> 2443 2444 2445 </td> <!-- entry_type --> 2446 2447 <td class="entry_description"> 2448 List of video stabilization modes that can 2449 be supported 2450 </td> 2451 2452 <td class="entry_units"> 2453 </td> 2454 2455 <td class="entry_range"> 2456 OFF must be included 2457 </td> 2458 2459 <td class="entry_notes"> 2460 </td> 2461 2462 <td class="entry_tags"> 2463 <ul class="entry_tags"> 2464 <li><a href="#tag_BC">BC</a></li> 2465 </ul> 2466 </td> 2467 2468 </tr> <!-- end of entry --> 2469 2470 2471 <tr class="entry" id="static_android.control.awbAvailableModes"> 2472 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td> 2473 <td class="entry_type"> 2474 <span class="entry_type_name">byte</span> 2475 <span class="entry_type_container">x</span> 2476 2477 <span class="entry_type_array"> 2478 n 2479 </span> 2480 <span class="entry_type_visibility"> [public]</span> 2481 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div> 2482 2483 2484 </td> <!-- entry_type --> 2485 2486 <td class="entry_description"> 2487 </td> 2488 2489 <td class="entry_units"> 2490 </td> 2491 2492 <td class="entry_range"> 2493 OFF,<wbr> AUTO must be included 2494 </td> 2495 2496 <td class="entry_notes"> 2497 </td> 2498 2499 <td class="entry_tags"> 2500 <ul class="entry_tags"> 2501 <li><a href="#tag_BC">BC</a></li> 2502 </ul> 2503 </td> 2504 2505 </tr> <!-- end of entry --> 2506 2507 2508 <tr class="entry" id="static_android.control.maxRegions"> 2509 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td> 2510 <td class="entry_type"> 2511 <span class="entry_type_name">int32</span> 2512 2513 <span class="entry_type_visibility"> [public]</span> 2514 2515 2516 </td> <!-- entry_type --> 2517 2518 <td class="entry_description"> 2519 For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual 2520 regions can be listed for metering? 2521 </td> 2522 2523 <td class="entry_units"> 2524 </td> 2525 2526 <td class="entry_range"> 2527 >= 1 2528 </td> 2529 2530 <td class="entry_notes"> 2531 </td> 2532 2533 <td class="entry_tags"> 2534 <ul class="entry_tags"> 2535 <li><a href="#tag_BC">BC</a></li> 2536 </ul> 2537 </td> 2538 2539 </tr> <!-- end of entry --> 2540 2541 2542 <tr class="entry" id="static_android.control.sceneModeOverrides"> 2543 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td> 2544 <td class="entry_type"> 2545 <span class="entry_type_name">byte</span> 2546 <span class="entry_type_container">x</span> 2547 2548 <span class="entry_type_array"> 2549 3 x length(availableSceneModes) 2550 </span> 2551 <span class="entry_type_visibility"> [system]</span> 2552 2553 2554 </td> <!-- entry_type --> 2555 2556 <td class="entry_description"> 2557 List of AE,<wbr> AWB,<wbr> and AF modes to use for 2558 each available scene mode 2559 </td> 2560 2561 <td class="entry_units"> 2562 </td> 2563 2564 <td class="entry_range"> 2565 For each listed scene mode,<wbr> lists the aeMode,<wbr> 2566 awbMode,<wbr> and afMode that the HAL wants to use for that 2567 scene mode.<wbr> 2568 2569 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in 2570 order of increasing index 2571 </td> 2572 2573 <td class="entry_notes"> 2574 When a scene mode is enabled,<wbr> the HAL is expected 2575 to override aeMode,<wbr> awbMode,<wbr> and afMode with its 2576 preferred settings for that scene mode.<wbr> 2577 <br> 2578 <br> To simplify communication with old camera API applications,<wbr> 2579 the service wants this override list in the static metadata.<wbr> 2580 The order of this list matches that of availableSceneModes,<wbr> 2581 with 3 entires for each scene mode.<wbr> The overrides listed 2582 for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that 2583 mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are 2584 used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is 2585 AUTO.<wbr> 2586 <br> 2587 <br> It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides 2588 should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is 2589 { FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects 2590 this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr> 2591 ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr> 2592 INCANDESCENT,<wbr> AUTO } 2593 </td> 2594 2595 <td class="entry_tags"> 2596 <ul class="entry_tags"> 2597 <li><a href="#tag_BC">BC</a></li> 2598 </ul> 2599 </td> 2600 2601 </tr> <!-- end of entry --> 2602 2603 2604 2605 <!-- end of kind --> 2606 </tbody> 2607 <tr><td colspan="7" class="kind">dynamic</td></tr> 2608 2609 <thead class="entries_header"> 2610 <tr> 2611 <th class="th_name">Property Name</th> 2612 <th class="th_type">Type</th> 2613 <th class="th_description">Description</th> 2614 <th class="th_units">Units</th> 2615 <th class="th_range">Range</th> 2616 <th class="th_notes">Notes</th> 2617 <th class="th_tags">Tags</th> 2618 </tr> 2619 </thead> 2620 2621 <tbody> 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 <tr class="entry" id="dynamic_android.control.aePrecaptureId"> 2633 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td> 2634 <td class="entry_type"> 2635 <span class="entry_type_name">int32</span> 2636 2637 <span class="entry_type_visibility"> [hidden]</span> 2638 2639 2640 </td> <!-- entry_type --> 2641 2642 <td class="entry_description"> 2643 The ID sent with the latest 2644 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call 2645 </td> 2646 2647 <td class="entry_units"> 2648 </td> 2649 2650 <td class="entry_range"> 2651 </td> 2652 2653 <td class="entry_notes"> 2654 Must be 0 if no 2655 CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet 2656 by HAL.<wbr> Always updated even if AE algorithm ignores the 2657 trigger 2658 </td> 2659 2660 <td class="entry_tags"> 2661 </td> 2662 2663 </tr> <!-- end of entry --> 2664 2665 2666 <tr class="entry" id="dynamic_android.control.aeRegions"> 2667 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td> 2668 <td class="entry_type"> 2669 <span class="entry_type_name">int32</span> 2670 <span class="entry_type_container">x</span> 2671 2672 <span class="entry_type_array"> 2673 5 x area_count 2674 </span> 2675 <span class="entry_type_visibility"> [public]</span> 2676 2677 2678 </td> <!-- entry_type --> 2679 2680 <td class="entry_description"> 2681 List of areas to use for 2682 metering 2683 </td> 2684 2685 <td class="entry_units"> 2686 </td> 2687 2688 <td class="entry_range"> 2689 </td> 2690 2691 <td class="entry_notes"> 2692 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 2693 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 2694 specified coordinates.<wbr> 2695 <br> 2696 <br> The coordinate system is based on the active pixel array,<wbr> 2697 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 2698 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 2699 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 2700 bottom-right pixel in the active pixel array.<wbr> The weight 2701 should be nonnegative.<wbr> 2702 <br> 2703 <br> If all regions have 0 weight,<wbr> then no specific metering area 2704 needs to be used by the HAL.<wbr> If the metering region is 2705 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 2706 should ignore the sections outside the region and output the 2707 used sections in the frame metadata 2708 </td> 2709 2710 <td class="entry_tags"> 2711 <ul class="entry_tags"> 2712 <li><a href="#tag_BC">BC</a></li> 2713 </ul> 2714 </td> 2715 2716 </tr> <!-- end of entry --> 2717 2718 2719 <tr class="entry" id="dynamic_android.control.aeState"> 2720 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td> 2721 <td class="entry_type"> 2722 <span class="entry_type_name entry_type_name_enum">byte</span> 2723 2724 <span class="entry_type_visibility"> [public]</span> 2725 2726 <ul class="entry_type_enum"> 2727 <li> 2728 <span class="entry_type_enum_name">INACTIVE</span> 2729 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in 2730 this state.<wbr></span> 2731 </li> 2732 <li> 2733 <span class="entry_type_enum_name">SEARCHING</span> 2734 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values 2735 for the current scene</span> 2736 </li> 2737 <li> 2738 <span class="entry_type_enum_name">CONVERGED</span> 2739 <span class="entry_type_enum_notes">AE has a good set of control values for the 2740 current scene</span> 2741 </li> 2742 <li> 2743 <span class="entry_type_enum_name">LOCKED</span> 2744 <span class="entry_type_enum_notes">AE has been locked (aeMode = 2745 LOCKED)</span> 2746 </li> 2747 <li> 2748 <span class="entry_type_enum_name">FLASH_REQUIRED</span> 2749 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash 2750 needs to be fired for good quality still 2751 capture</span> 2752 </li> 2753 <li> 2754 <span class="entry_type_enum_name">PRECAPTURE</span> 2755 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence 2756 (through the 2757 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING) 2758 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE 2759 completes,<wbr> AE will transition to CONVERGED or 2760 FLASH_<wbr>REQUIRED as appropriate</span> 2761 </li> 2762 </ul> 2763 2764 </td> <!-- entry_type --> 2765 2766 <td class="entry_description"> 2767 Current state of AE algorithm 2768 </td> 2769 2770 <td class="entry_units"> 2771 </td> 2772 2773 <td class="entry_range"> 2774 </td> 2775 2776 <td class="entry_notes"> 2777 Whenever the AE algorithm state changes,<wbr> a 2778 MSG_<wbr>AUTOEXPOSURE notification must be send if a 2779 notification callback is registered.<wbr> 2780 </td> 2781 2782 <td class="entry_tags"> 2783 </td> 2784 2785 </tr> <!-- end of entry --> 2786 2787 2788 <tr class="entry" id="dynamic_android.control.afMode"> 2789 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td> 2790 <td class="entry_type"> 2791 <span class="entry_type_name entry_type_name_enum">byte</span> 2792 2793 <span class="entry_type_visibility"> [public]</span> 2794 2795 <ul class="entry_type_enum"> 2796 <li> 2797 <span class="entry_type_enum_name">OFF</span> 2798 <span class="entry_type_enum_notes">The 3A routines do not control the lens; 2799 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the 2800 application</span> 2801 </li> 2802 <li> 2803 <span class="entry_type_enum_name">AUTO</span> 2804 <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> 2805 2806 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens 2807 is fixed focus In this mode,<wbr> the lens does not move unless 2808 the autofocus trigger action is called.<wbr> When that trigger 2809 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to 2810 the outcome of the scan (FOCUSED or 2811 NOT_<wbr>FOCUSED).<wbr> 2812 2813 Triggering cancel AF resets the lens position to default,<wbr> 2814 and sets the AF state to INACTIVE.<wbr></span> 2815 </li> 2816 <li> 2817 <span class="entry_type_enum_name">MACRO</span> 2818 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the 2819 autofocus trigger action is called.<wbr> 2820 2821 When that trigger is activated,<wbr> AF must transition to 2822 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or 2823 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens 2824 position to default,<wbr> and sets the AF state to 2825 INACTIVE.<wbr></span> 2826 </li> 2827 <li> 2828 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span> 2829 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens 2830 position continually to attempt to provide a 2831 constantly-in-focus image stream.<wbr> 2832 2833 The focusing behavior should be suitable for good quality 2834 video recording; typically this means slower focus 2835 movement and no overshoots.<wbr> When the AF trigger is not 2836 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr> 2837 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED 2838 states as appropriate.<wbr> When the AF trigger is activated,<wbr> 2839 the algorithm should immediately transition into 2840 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the 2841 lens position until a cancel AF trigger is received.<wbr> 2842 2843 Once cancel is received,<wbr> the algorithm should transition 2844 back to INACTIVE and resume passive scan.<wbr> Note that this 2845 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an 2846 ongoing PASSIVE_<wbr>SCAN must immediately be 2847 canceled.<wbr></span> 2848 </li> 2849 <li> 2850 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span> 2851 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens 2852 position continually to attempt to provide a 2853 constantly-in-focus image stream.<wbr> 2854 2855 The focusing behavior should be suitable for still image 2856 capture; typically this means focusing as fast as 2857 possible.<wbr> When the AF trigger is not involved,<wbr> the AF 2858 algorithm should start in INACTIVE state,<wbr> and then 2859 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as 2860 appropriate as it attempts to maintain focus.<wbr> When the AF 2861 trigger is activated,<wbr> the algorithm should finish its 2862 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into 2863 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the 2864 lens position until a cancel AF trigger is received.<wbr> 2865 2866 When the AF cancel trigger is activated,<wbr> the algorithm 2867 should transition back to INACTIVE and then act as if it 2868 has just been started.<wbr></span> 2869 </li> 2870 <li> 2871 <span class="entry_type_enum_name">EDOF</span> 2872 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF 2873 trigger is ignored,<wbr> AF state should always be 2874 INACTIVE.<wbr></span> 2875 </li> 2876 </ul> 2877 2878 </td> <!-- entry_type --> 2879 2880 <td class="entry_description"> 2881 Whether AF is currently enabled,<wbr> and what 2882 mode it is set to 2883 </td> 2884 2885 <td class="entry_units"> 2886 </td> 2887 2888 <td class="entry_range"> 2889 </td> 2890 2891 <td class="entry_notes"> 2892 </td> 2893 2894 <td class="entry_tags"> 2895 <ul class="entry_tags"> 2896 <li><a href="#tag_BC">BC</a></li> 2897 </ul> 2898 </td> 2899 2900 </tr> <!-- end of entry --> 2901 2902 2903 <tr class="entry" id="dynamic_android.control.afRegions"> 2904 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td> 2905 <td class="entry_type"> 2906 <span class="entry_type_name">int32</span> 2907 <span class="entry_type_container">x</span> 2908 2909 <span class="entry_type_array"> 2910 5 x area_count 2911 </span> 2912 <span class="entry_type_visibility"> [public]</span> 2913 2914 2915 </td> <!-- entry_type --> 2916 2917 <td class="entry_description"> 2918 List of areas to use for focus 2919 estimation 2920 </td> 2921 2922 <td class="entry_units"> 2923 </td> 2924 2925 <td class="entry_range"> 2926 </td> 2927 2928 <td class="entry_notes"> 2929 Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 2930 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 2931 specified coordinates.<wbr> 2932 <br> 2933 <br> The coordinate system is based on the active pixel array,<wbr> 2934 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 2935 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 2936 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 2937 bottom-right pixel in the active pixel array.<wbr> The weight 2938 should be nonnegative.<wbr> 2939 <br> 2940 <br> If all regions have 0 weight,<wbr> then no specific focus area 2941 needs to be used by the HAL.<wbr> If the focusing region is 2942 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 2943 should ignore the sections outside the region and output the 2944 used sections in the frame metadata 2945 </td> 2946 2947 <td class="entry_tags"> 2948 <ul class="entry_tags"> 2949 <li><a href="#tag_BC">BC</a></li> 2950 </ul> 2951 </td> 2952 2953 </tr> <!-- end of entry --> 2954 2955 2956 <tr class="entry" id="dynamic_android.control.afState"> 2957 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td> 2958 <td class="entry_type"> 2959 <span class="entry_type_name entry_type_name_enum">byte</span> 2960 2961 <span class="entry_type_visibility"> [public]</span> 2962 2963 <ul class="entry_type_enum"> 2964 <li> 2965 <span class="entry_type_enum_name">INACTIVE</span> 2966 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked 2967 to scan.<wbr> When a camera device is opened,<wbr> it starts in 2968 this state.<wbr></span> 2969 </li> 2970 <li> 2971 <span class="entry_type_enum_name">PASSIVE_SCAN</span> 2972 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is 2973 currently doing an AF scan initiated by a continuous 2974 autofocus mode</span> 2975 </li> 2976 <li> 2977 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span> 2978 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently 2979 believes it is in focus,<wbr> but may restart scanning at 2980 any time.<wbr></span> 2981 </li> 2982 <li> 2983 <span class="entry_type_enum_name">ACTIVE_SCAN</span> 2984 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing 2985 an AF scan because it was triggered by AF 2986 trigger</span> 2987 </li> 2988 <li> 2989 <span class="entry_type_enum_name">FOCUSED_LOCKED</span> 2990 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF 2991 believes it is focused correctly and is 2992 locked</span> 2993 </li> 2994 <li> 2995 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span> 2996 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has 2997 failed to focus successfully and is 2998 locked</span> 2999 </li> 3000 <li> 3001 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span> 3002 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a 3003 passive scan without finding focus,<wbr> and may restart 3004 scanning at any time.<wbr></span> 3005 </li> 3006 </ul> 3007 3008 </td> <!-- entry_type --> 3009 3010 <td class="entry_description"> 3011 Current state of AF algorithm 3012 </td> 3013 3014 <td class="entry_units"> 3015 </td> 3016 3017 <td class="entry_range"> 3018 </td> 3019 3020 <td class="entry_notes"> 3021 Whenever the AF algorithm state changes,<wbr> a 3022 MSG_<wbr>AUTOFOCUS notification must be send if a notification 3023 callback is registered.<wbr> 3024 </td> 3025 3026 <td class="entry_tags"> 3027 </td> 3028 3029 </tr> <!-- end of entry --> 3030 3031 3032 <tr class="entry" id="dynamic_android.control.afTriggerId"> 3033 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td> 3034 <td class="entry_type"> 3035 <span class="entry_type_name">int32</span> 3036 3037 <span class="entry_type_visibility"> [hidden]</span> 3038 3039 3040 </td> <!-- entry_type --> 3041 3042 <td class="entry_description"> 3043 The ID sent with the latest 3044 CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call 3045 </td> 3046 3047 <td class="entry_units"> 3048 </td> 3049 3050 <td class="entry_range"> 3051 </td> 3052 3053 <td class="entry_notes"> 3054 Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger 3055 received yet by HAL.<wbr> Always updated even if AF algorithm 3056 ignores the trigger 3057 </td> 3058 3059 <td class="entry_tags"> 3060 </td> 3061 3062 </tr> <!-- end of entry --> 3063 3064 3065 <tr class="entry" id="dynamic_android.control.awbMode"> 3066 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td> 3067 <td class="entry_type"> 3068 <span class="entry_type_name entry_type_name_enum">byte</span> 3069 3070 <span class="entry_type_visibility"> [public]</span> 3071 3072 <ul class="entry_type_enum"> 3073 <li> 3074 <span class="entry_type_enum_name">OFF</span> 3075 </li> 3076 <li> 3077 <span class="entry_type_enum_name">AUTO</span> 3078 </li> 3079 <li> 3080 <span class="entry_type_enum_name">INCANDESCENT</span> 3081 </li> 3082 <li> 3083 <span class="entry_type_enum_name">FLUORESCENT</span> 3084 </li> 3085 <li> 3086 <span class="entry_type_enum_name">WARM_FLUORESCENT</span> 3087 </li> 3088 <li> 3089 <span class="entry_type_enum_name">DAYLIGHT</span> 3090 </li> 3091 <li> 3092 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span> 3093 </li> 3094 <li> 3095 <span class="entry_type_enum_name">TWILIGHT</span> 3096 </li> 3097 <li> 3098 <span class="entry_type_enum_name">SHADE</span> 3099 </li> 3100 </ul> 3101 3102 </td> <!-- entry_type --> 3103 3104 <td class="entry_description"> 3105 Whether AWB is currently setting the color 3106 transform fields,<wbr> and what its illumination target 3107 is 3108 </td> 3109 3110 <td class="entry_units"> 3111 </td> 3112 3113 <td class="entry_range"> 3114 </td> 3115 3116 <td class="entry_notes"> 3117 [BC - AWB lock,<wbr>AWB modes] 3118 </td> 3119 3120 <td class="entry_tags"> 3121 <ul class="entry_tags"> 3122 <li><a href="#tag_BC">BC</a></li> 3123 <li><a href="#tag_AWB">AWB</a></li> 3124 </ul> 3125 </td> 3126 3127 </tr> <!-- end of entry --> 3128 3129 3130 <tr class="entry" id="dynamic_android.control.awbRegions"> 3131 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td> 3132 <td class="entry_type"> 3133 <span class="entry_type_name">int32</span> 3134 <span class="entry_type_container">x</span> 3135 3136 <span class="entry_type_array"> 3137 5 x area_count 3138 </span> 3139 <span class="entry_type_visibility"> [public]</span> 3140 3141 3142 </td> <!-- entry_type --> 3143 3144 <td class="entry_description"> 3145 List of areas to use for illuminant 3146 estimation 3147 </td> 3148 3149 <td class="entry_units"> 3150 </td> 3151 3152 <td class="entry_range"> 3153 </td> 3154 3155 <td class="entry_notes"> 3156 Only used in AUTO mode.<wbr> 3157 <br> 3158 <br> Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr> 3159 xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the 3160 specified coordinates.<wbr> 3161 <br> 3162 <br> The coordinate system is based on the active pixel array,<wbr> 3163 with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and 3164 (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr> 3165 android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the 3166 bottom-right pixel in the active pixel array.<wbr> The weight 3167 should be nonnegative.<wbr> 3168 <br> 3169 <br> If all regions have 0 weight,<wbr> then no specific metering area 3170 needs to be used by the HAL.<wbr> If the metering region is 3171 outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL 3172 should ignore the sections outside the region and output the 3173 used sections in the frame metadata 3174 </td> 3175 3176 <td class="entry_tags"> 3177 <ul class="entry_tags"> 3178 <li><a href="#tag_BC">BC</a></li> 3179 </ul> 3180 </td> 3181 3182 </tr> <!-- end of entry --> 3183 3184 3185 <tr class="entry" id="dynamic_android.control.awbState"> 3186 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td> 3187 <td class="entry_type"> 3188 <span class="entry_type_name entry_type_name_enum">byte</span> 3189 3190 <span class="entry_type_visibility"> [public]</span> 3191 3192 <ul class="entry_type_enum"> 3193 <li> 3194 <span class="entry_type_enum_name">INACTIVE</span> 3195 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it 3196 starts in this state.<wbr></span> 3197 </li> 3198 <li> 3199 <span class="entry_type_enum_name">SEARCHING</span> 3200 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control 3201 values for the current scene</span> 3202 </li> 3203 <li> 3204 <span class="entry_type_enum_name">CONVERGED</span> 3205 <span class="entry_type_enum_notes">AWB has a good set of control values for the 3206 current scene</span> 3207 </li> 3208 <li> 3209 <span class="entry_type_enum_name">LOCKED</span> 3210 <span class="entry_type_enum_notes">AE has been locked (aeMode = 3211 LOCKED)</span> 3212 </li> 3213 </ul> 3214 3215 </td> <!-- entry_type --> 3216 3217 <td class="entry_description"> 3218 Current state of AWB algorithm 3219 </td> 3220 3221 <td class="entry_units"> 3222 </td> 3223 3224 <td class="entry_range"> 3225 </td> 3226 3227 <td class="entry_notes"> 3228 Whenever the AWB algorithm state changes,<wbr> a 3229 MSG_<wbr>AUTOWHITEBALANCE notification must be send if a 3230 notification callback is registered.<wbr> 3231 </td> 3232 3233 <td class="entry_tags"> 3234 </td> 3235 3236 </tr> <!-- end of entry --> 3237 3238 3239 <tr class="entry" id="dynamic_android.control.mode"> 3240 <td class="entry_name">android.<wbr>control.<wbr>mode</td> 3241 <td class="entry_type"> 3242 <span class="entry_type_name entry_type_name_enum">byte</span> 3243 3244 <span class="entry_type_visibility"> [public]</span> 3245 3246 <ul class="entry_type_enum"> 3247 <li> 3248 <span class="entry_type_enum_name">OFF</span> 3249 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A 3250 routines are disabled,<wbr> no other settings in 3251 android.<wbr>control.<wbr>* have any effect</span> 3252 </li> 3253 <li> 3254 <span class="entry_type_enum_name">AUTO</span> 3255 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr> 3256 Manual control of capture parameters is disabled.<wbr> All 3257 controls in android.<wbr>control.<wbr>* besides sceneMode take 3258 effect</span> 3259 </li> 3260 <li> 3261 <span class="entry_type_enum_name">USE_SCENE_MODE</span> 3262 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables 3263 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode 3264 controls; the HAL must ignore those settings while 3265 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY 3266 scene mode).<wbr> Other control entries are still active.<wbr> 3267 This setting can only be used if availableSceneModes != 3268 UNSUPPORTED</span> 3269 </li> 3270 </ul> 3271 3272 </td> <!-- entry_type --> 3273 3274 <td class="entry_description"> 3275 Overall mode of 3A control 3276 routines 3277 </td> 3278 3279 <td class="entry_units"> 3280 </td> 3281 3282 <td class="entry_range"> 3283 all must be supported 3284 </td> 3285 3286 <td class="entry_notes"> 3287 </td> 3288 3289 <td class="entry_tags"> 3290 <ul class="entry_tags"> 3291 <li><a href="#tag_BC">BC</a></li> 3292 </ul> 3293 </td> 3294 3295 </tr> <!-- end of entry --> 3296 3297 3298 3299 <!-- end of kind --> 3300 </tbody> 3301 3302 <!-- end of section --> 3303 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr> 3304 3305 3306 <tr><td colspan="7" class="kind">controls</td></tr> 3307 3308 <thead class="entries_header"> 3309 <tr> 3310 <th class="th_name">Property Name</th> 3311 <th class="th_type">Type</th> 3312 <th class="th_description">Description</th> 3313 <th class="th_units">Units</th> 3314 <th class="th_range">Range</th> 3315 <th class="th_notes">Notes</th> 3316 <th class="th_tags">Tags</th> 3317 </tr> 3318 </thead> 3319 3320 <tbody> 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 <tr class="entry" id="controls_android.demosaic.mode"> 3332 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td> 3333 <td class="entry_type"> 3334 <span class="entry_type_name entry_type_name_enum">byte</span> 3335 3336 <span class="entry_type_visibility"> [system]</span> 3337 3338 <ul class="entry_type_enum"> 3339 <li> 3340 <span class="entry_type_enum_name">FAST</span> 3341 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to 3342 Bayer RAW output</span> 3343 </li> 3344 <li> 3345 <span class="entry_type_enum_name">HIGH_QUALITY</span> 3346 <span class="entry_type_enum_notes">High-quality may reduce output frame 3347 rate</span> 3348 </li> 3349 </ul> 3350 3351 </td> <!-- entry_type --> 3352 3353 <td class="entry_description"> 3354 Controls the quality of the demosaicing 3355 processing 3356 </td> 3357 3358 <td class="entry_units"> 3359 </td> 3360 3361 <td class="entry_range"> 3362 </td> 3363 3364 <td class="entry_notes"> 3365 </td> 3366 3367 <td class="entry_tags"> 3368 <ul class="entry_tags"> 3369 <li><a href="#tag_V1">V1</a></li> 3370 </ul> 3371 </td> 3372 3373 </tr> <!-- end of entry --> 3374 3375 3376 3377 <!-- end of kind --> 3378 </tbody> 3379 3380 <!-- end of section --> 3381 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr> 3382 3383 3384 <tr><td colspan="7" class="kind">controls</td></tr> 3385 3386 <thead class="entries_header"> 3387 <tr> 3388 <th class="th_name">Property Name</th> 3389 <th class="th_type">Type</th> 3390 <th class="th_description">Description</th> 3391 <th class="th_units">Units</th> 3392 <th class="th_range">Range</th> 3393 <th class="th_notes">Notes</th> 3394 <th class="th_tags">Tags</th> 3395 </tr> 3396 </thead> 3397 3398 <tbody> 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 <tr class="entry" id="controls_android.edge.mode"> 3410 <td class="entry_name">android.<wbr>edge.<wbr>mode</td> 3411 <td class="entry_type"> 3412 <span class="entry_type_name entry_type_name_enum">byte</span> 3413 3414 <span class="entry_type_visibility"> [public]</span> 3415 3416 <ul class="entry_type_enum"> 3417 <li> 3418 <span class="entry_type_enum_name">OFF</span> 3419 <span class="entry_type_enum_notes">No edge enhancement is applied</span> 3420 </li> 3421 <li> 3422 <span class="entry_type_enum_name">FAST</span> 3423 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 3424 bayer output</span> 3425 </li> 3426 <li> 3427 <span class="entry_type_enum_name">HIGH_QUALITY</span> 3428 <span class="entry_type_enum_notes">Frame rate may be reduced by high 3429 quality</span> 3430 </li> 3431 </ul> 3432 3433 </td> <!-- entry_type --> 3434 3435 <td class="entry_description"> 3436 Operation mode for edge 3437 enhancement 3438 </td> 3439 3440 <td class="entry_units"> 3441 </td> 3442 3443 <td class="entry_range"> 3444 </td> 3445 3446 <td class="entry_notes"> 3447 </td> 3448 3449 <td class="entry_tags"> 3450 </td> 3451 3452 </tr> <!-- end of entry --> 3453 3454 3455 <tr class="entry" id="controls_android.edge.strength"> 3456 <td class="entry_name">android.<wbr>edge.<wbr>strength</td> 3457 <td class="entry_type"> 3458 <span class="entry_type_name">byte</span> 3459 3460 <span class="entry_type_visibility"> [system]</span> 3461 3462 3463 </td> <!-- entry_type --> 3464 3465 <td class="entry_description"> 3466 Control the amount of edge enhancement 3467 applied to the images 3468 </td> 3469 3470 <td class="entry_units"> 3471 1-10; 10 is maximum sharpening 3472 </td> 3473 3474 <td class="entry_range"> 3475 </td> 3476 3477 <td class="entry_notes"> 3478 </td> 3479 3480 <td class="entry_tags"> 3481 </td> 3482 3483 </tr> <!-- end of entry --> 3484 3485 3486 3487 <!-- end of kind --> 3488 </tbody> 3489 <tr><td colspan="7" class="kind">dynamic</td></tr> 3490 3491 <thead class="entries_header"> 3492 <tr> 3493 <th class="th_name">Property Name</th> 3494 <th class="th_type">Type</th> 3495 <th class="th_description">Description</th> 3496 <th class="th_units">Units</th> 3497 <th class="th_range">Range</th> 3498 <th class="th_notes">Notes</th> 3499 <th class="th_tags">Tags</th> 3500 </tr> 3501 </thead> 3502 3503 <tbody> 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 <tr class="entry" id="dynamic_android.edge.mode"> 3515 <td class="entry_name">android.<wbr>edge.<wbr>mode</td> 3516 <td class="entry_type"> 3517 <span class="entry_type_name entry_type_name_enum">byte</span> 3518 3519 <span class="entry_type_visibility"> [public]</span> 3520 3521 <ul class="entry_type_enum"> 3522 <li> 3523 <span class="entry_type_enum_name">OFF</span> 3524 <span class="entry_type_enum_notes">No edge enhancement is applied</span> 3525 </li> 3526 <li> 3527 <span class="entry_type_enum_name">FAST</span> 3528 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 3529 bayer output</span> 3530 </li> 3531 <li> 3532 <span class="entry_type_enum_name">HIGH_QUALITY</span> 3533 <span class="entry_type_enum_notes">Frame rate may be reduced by high 3534 quality</span> 3535 </li> 3536 </ul> 3537 3538 </td> <!-- entry_type --> 3539 3540 <td class="entry_description"> 3541 Operation mode for edge 3542 enhancement 3543 </td> 3544 3545 <td class="entry_units"> 3546 </td> 3547 3548 <td class="entry_range"> 3549 </td> 3550 3551 <td class="entry_notes"> 3552 </td> 3553 3554 <td class="entry_tags"> 3555 </td> 3556 3557 </tr> <!-- end of entry --> 3558 3559 3560 3561 <!-- end of kind --> 3562 </tbody> 3563 3564 <!-- end of section --> 3565 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr> 3566 3567 3568 <tr><td colspan="7" class="kind">controls</td></tr> 3569 3570 <thead class="entries_header"> 3571 <tr> 3572 <th class="th_name">Property Name</th> 3573 <th class="th_type">Type</th> 3574 <th class="th_description">Description</th> 3575 <th class="th_units">Units</th> 3576 <th class="th_range">Range</th> 3577 <th class="th_notes">Notes</th> 3578 <th class="th_tags">Tags</th> 3579 </tr> 3580 </thead> 3581 3582 <tbody> 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 <tr class="entry" id="controls_android.flash.firingPower"> 3594 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td> 3595 <td class="entry_type"> 3596 <span class="entry_type_name">byte</span> 3597 3598 <span class="entry_type_visibility"> [system]</span> 3599 3600 3601 </td> <!-- entry_type --> 3602 3603 <td class="entry_description"> 3604 Power for flash firing/<wbr>torch 3605 </td> 3606 3607 <td class="entry_units"> 3608 10 is max power; 0 is no flash.<wbr> Linear 3609 </td> 3610 3611 <td class="entry_range"> 3612 0 - 10 3613 </td> 3614 3615 <td class="entry_notes"> 3616 Power for snapshot may use a different scale than 3617 for torch mode.<wbr> Only one entry for torch mode will be 3618 used 3619 </td> 3620 3621 <td class="entry_tags"> 3622 <ul class="entry_tags"> 3623 <li><a href="#tag_V1">V1</a></li> 3624 </ul> 3625 </td> 3626 3627 </tr> <!-- end of entry --> 3628 3629 3630 <tr class="entry" id="controls_android.flash.firingTime"> 3631 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td> 3632 <td class="entry_type"> 3633 <span class="entry_type_name">int64</span> 3634 3635 <span class="entry_type_visibility"> [system]</span> 3636 3637 3638 </td> <!-- entry_type --> 3639 3640 <td class="entry_description"> 3641 Firing time of flash relative to start of 3642 exposure 3643 </td> 3644 3645 <td class="entry_units"> 3646 nanoseconds 3647 </td> 3648 3649 <td class="entry_range"> 3650 0-(exposure time-flash duration) 3651 </td> 3652 3653 <td class="entry_notes"> 3654 Clamped to (0,<wbr> exposure time - flash 3655 duration).<wbr> 3656 </td> 3657 3658 <td class="entry_tags"> 3659 <ul class="entry_tags"> 3660 <li><a href="#tag_V1">V1</a></li> 3661 </ul> 3662 </td> 3663 3664 </tr> <!-- end of entry --> 3665 3666 3667 <tr class="entry" id="controls_android.flash.mode"> 3668 <td class="entry_name">android.<wbr>flash.<wbr>mode</td> 3669 <td class="entry_type"> 3670 <span class="entry_type_name entry_type_name_enum">byte</span> 3671 3672 <span class="entry_type_visibility"> [public]</span> 3673 3674 <ul class="entry_type_enum"> 3675 <li> 3676 <span class="entry_type_enum_name">OFF</span> 3677 <span class="entry_type_enum_notes">Do not fire the flash for this 3678 capture</span> 3679 </li> 3680 <li> 3681 <span class="entry_type_enum_name">SINGLE</span> 3682 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash 3683 for this capture based on firingPower,<wbr> 3684 firingTime.<wbr></span> 3685 </li> 3686 <li> 3687 <span class="entry_type_enum_name">TORCH</span> 3688 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash 3689 continuously on,<wbr> power set by 3690 firingPower</span> 3691 </li> 3692 </ul> 3693 3694 </td> <!-- entry_type --> 3695 3696 <td class="entry_description"> 3697 Select flash operation mode 3698 </td> 3699 3700 <td class="entry_units"> 3701 </td> 3702 3703 <td class="entry_range"> 3704 </td> 3705 3706 <td class="entry_notes"> 3707 </td> 3708 3709 <td class="entry_tags"> 3710 <ul class="entry_tags"> 3711 <li><a href="#tag_BC">BC</a></li> 3712 </ul> 3713 </td> 3714 3715 </tr> <!-- end of entry --> 3716 3717 3718 3719 <!-- end of kind --> 3720 </tbody> 3721 <tr><td colspan="7" class="kind">static</td></tr> 3722 3723 <thead class="entries_header"> 3724 <tr> 3725 <th class="th_name">Property Name</th> 3726 <th class="th_type">Type</th> 3727 <th class="th_description">Description</th> 3728 <th class="th_units">Units</th> 3729 <th class="th_range">Range</th> 3730 <th class="th_notes">Notes</th> 3731 <th class="th_tags">Tags</th> 3732 </tr> 3733 </thead> 3734 3735 <tbody> 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 <tr class="entry" id="static_android.flash.info.available"> 3749 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td> 3750 <td class="entry_type"> 3751 <span class="entry_type_name">byte</span> 3752 3753 <span class="entry_type_visibility"> [public]</span> 3754 3755 3756 </td> <!-- entry_type --> 3757 3758 <td class="entry_description"> 3759 Whether this camera has a 3760 flash 3761 </td> 3762 3763 <td class="entry_units"> 3764 boolean (0 = false,<wbr> otherwise true) 3765 </td> 3766 3767 <td class="entry_range"> 3768 </td> 3769 3770 <td class="entry_notes"> 3771 If no flash,<wbr> none of the flash controls do 3772 anything.<wbr> All other metadata should return 0 3773 </td> 3774 3775 <td class="entry_tags"> 3776 <ul class="entry_tags"> 3777 <li><a href="#tag_BC">BC</a></li> 3778 </ul> 3779 </td> 3780 3781 </tr> <!-- end of entry --> 3782 3783 3784 <tr class="entry" id="static_android.flash.info.chargeDuration"> 3785 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td> 3786 <td class="entry_type"> 3787 <span class="entry_type_name">int64</span> 3788 3789 <span class="entry_type_visibility"> [system]</span> 3790 3791 3792 </td> <!-- entry_type --> 3793 3794 <td class="entry_description"> 3795 Time taken before flash can fire 3796 again 3797 </td> 3798 3799 <td class="entry_units"> 3800 nanoseconds 3801 </td> 3802 3803 <td class="entry_range"> 3804 0-1e9 3805 </td> 3806 3807 <td class="entry_notes"> 3808 1 second too long/<wbr>too short for recharge? Should 3809 this be power-dependent? 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 3823 3824 <tr class="entry" id="static_android.flash.colorTemperature"> 3825 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td> 3826 <td class="entry_type"> 3827 <span class="entry_type_name">byte</span> 3828 3829 <span class="entry_type_visibility"> [system]</span> 3830 3831 3832 </td> <!-- entry_type --> 3833 3834 <td class="entry_description"> 3835 The x,<wbr>y whitepoint of the 3836 flash 3837 </td> 3838 3839 <td class="entry_units"> 3840 pair of floats 3841 </td> 3842 3843 <td class="entry_range"> 3844 0-1 for both 3845 </td> 3846 3847 <td class="entry_notes"> 3848 </td> 3849 3850 <td class="entry_tags"> 3851 <ul class="entry_tags"> 3852 <li><a href="#tag_ADV">ADV</a></li> 3853 </ul> 3854 </td> 3855 3856 </tr> <!-- end of entry --> 3857 3858 3859 <tr class="entry" id="static_android.flash.maxEnergy"> 3860 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td> 3861 <td class="entry_type"> 3862 <span class="entry_type_name">byte</span> 3863 3864 <span class="entry_type_visibility"> [system]</span> 3865 3866 3867 </td> <!-- entry_type --> 3868 3869 <td class="entry_description"> 3870 Max energy output of the flash for a full 3871 power single flash 3872 </td> 3873 3874 <td class="entry_units"> 3875 lumen-seconds 3876 </td> 3877 3878 <td class="entry_range"> 3879 >= 0 3880 </td> 3881 3882 <td class="entry_notes"> 3883 </td> 3884 3885 <td class="entry_tags"> 3886 <ul class="entry_tags"> 3887 <li><a href="#tag_ADV">ADV</a></li> 3888 </ul> 3889 </td> 3890 3891 </tr> <!-- end of entry --> 3892 3893 3894 3895 <!-- end of kind --> 3896 </tbody> 3897 <tr><td colspan="7" class="kind">dynamic</td></tr> 3898 3899 <thead class="entries_header"> 3900 <tr> 3901 <th class="th_name">Property Name</th> 3902 <th class="th_type">Type</th> 3903 <th class="th_description">Description</th> 3904 <th class="th_units">Units</th> 3905 <th class="th_range">Range</th> 3906 <th class="th_notes">Notes</th> 3907 <th class="th_tags">Tags</th> 3908 </tr> 3909 </thead> 3910 3911 <tbody> 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 <tr class="entry" id="dynamic_android.flash.firingPower"> 3923 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td> 3924 <td class="entry_type"> 3925 <span class="entry_type_name">byte</span> 3926 3927 <span class="entry_type_visibility"> [system]</span> 3928 3929 3930 </td> <!-- entry_type --> 3931 3932 <td class="entry_description"> 3933 Power for flash firing/<wbr>torch 3934 </td> 3935 3936 <td class="entry_units"> 3937 10 is max power; 0 is no flash.<wbr> Linear 3938 </td> 3939 3940 <td class="entry_range"> 3941 0 - 10 3942 </td> 3943 3944 <td class="entry_notes"> 3945 Power for snapshot may use a different scale than 3946 for torch mode.<wbr> Only one entry for torch mode will be 3947 used 3948 </td> 3949 3950 <td class="entry_tags"> 3951 <ul class="entry_tags"> 3952 <li><a href="#tag_V1">V1</a></li> 3953 </ul> 3954 </td> 3955 3956 </tr> <!-- end of entry --> 3957 3958 3959 <tr class="entry" id="dynamic_android.flash.firingTime"> 3960 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td> 3961 <td class="entry_type"> 3962 <span class="entry_type_name">int64</span> 3963 3964 <span class="entry_type_visibility"> [system]</span> 3965 3966 3967 </td> <!-- entry_type --> 3968 3969 <td class="entry_description"> 3970 Firing time of flash relative to start of 3971 exposure 3972 </td> 3973 3974 <td class="entry_units"> 3975 nanoseconds 3976 </td> 3977 3978 <td class="entry_range"> 3979 0-(exposure time-flash duration) 3980 </td> 3981 3982 <td class="entry_notes"> 3983 Clamped to (0,<wbr> exposure time - flash 3984 duration).<wbr> 3985 </td> 3986 3987 <td class="entry_tags"> 3988 <ul class="entry_tags"> 3989 <li><a href="#tag_V1">V1</a></li> 3990 </ul> 3991 </td> 3992 3993 </tr> <!-- end of entry --> 3994 3995 3996 <tr class="entry" id="dynamic_android.flash.mode"> 3997 <td class="entry_name">android.<wbr>flash.<wbr>mode</td> 3998 <td class="entry_type"> 3999 <span class="entry_type_name entry_type_name_enum">byte</span> 4000 4001 <span class="entry_type_visibility"> [public]</span> 4002 4003 <ul class="entry_type_enum"> 4004 <li> 4005 <span class="entry_type_enum_name">OFF</span> 4006 <span class="entry_type_enum_notes">Do not fire the flash for this 4007 capture</span> 4008 </li> 4009 <li> 4010 <span class="entry_type_enum_name">SINGLE</span> 4011 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash 4012 for this capture based on firingPower,<wbr> 4013 firingTime.<wbr></span> 4014 </li> 4015 <li> 4016 <span class="entry_type_enum_name">TORCH</span> 4017 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash 4018 continuously on,<wbr> power set by 4019 firingPower</span> 4020 </li> 4021 </ul> 4022 4023 </td> <!-- entry_type --> 4024 4025 <td class="entry_description"> 4026 Select flash operation mode 4027 </td> 4028 4029 <td class="entry_units"> 4030 </td> 4031 4032 <td class="entry_range"> 4033 </td> 4034 4035 <td class="entry_notes"> 4036 </td> 4037 4038 <td class="entry_tags"> 4039 <ul class="entry_tags"> 4040 <li><a href="#tag_BC">BC</a></li> 4041 </ul> 4042 </td> 4043 4044 </tr> <!-- end of entry --> 4045 4046 4047 <tr class="entry" id="dynamic_android.flash.state"> 4048 <td class="entry_name">android.<wbr>flash.<wbr>state</td> 4049 <td class="entry_type"> 4050 <span class="entry_type_name entry_type_name_enum">byte</span> 4051 4052 <span class="entry_type_visibility"> [public]</span> 4053 4054 <ul class="entry_type_enum"> 4055 <li> 4056 <span class="entry_type_enum_name">UNAVAILABLE</span> 4057 <span class="entry_type_enum_notes">No flash on camera</span> 4058 </li> 4059 <li> 4060 <span class="entry_type_enum_name">CHARGING</span> 4061 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is 4062 charging and cannot be fired</span> 4063 </li> 4064 <li> 4065 <span class="entry_type_enum_name">READY</span> 4066 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is 4067 ready to fire</span> 4068 </li> 4069 <li> 4070 <span class="entry_type_enum_name">FIRED</span> 4071 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired 4072 for this capture</span> 4073 </li> 4074 </ul> 4075 4076 </td> <!-- entry_type --> 4077 4078 <td class="entry_description"> 4079 Current state of the flash 4080 unit 4081 </td> 4082 4083 <td class="entry_units"> 4084 </td> 4085 4086 <td class="entry_range"> 4087 </td> 4088 4089 <td class="entry_notes"> 4090 </td> 4091 4092 <td class="entry_tags"> 4093 </td> 4094 4095 </tr> <!-- end of entry --> 4096 4097 4098 4099 <!-- end of kind --> 4100 </tbody> 4101 4102 <!-- end of section --> 4103 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr> 4104 4105 4106 <tr><td colspan="7" class="kind">controls</td></tr> 4107 4108 <thead class="entries_header"> 4109 <tr> 4110 <th class="th_name">Property Name</th> 4111 <th class="th_type">Type</th> 4112 <th class="th_description">Description</th> 4113 <th class="th_units">Units</th> 4114 <th class="th_range">Range</th> 4115 <th class="th_notes">Notes</th> 4116 <th class="th_tags">Tags</th> 4117 </tr> 4118 </thead> 4119 4120 <tbody> 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 <tr class="entry" id="controls_android.geometric.mode"> 4132 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td> 4133 <td class="entry_type"> 4134 <span class="entry_type_name entry_type_name_enum">byte</span> 4135 4136 <span class="entry_type_visibility"> [system]</span> 4137 4138 <ul class="entry_type_enum"> 4139 <li> 4140 <span class="entry_type_enum_name">OFF</span> 4141 <span class="entry_type_enum_notes">No geometric correction is 4142 applied</span> 4143 </li> 4144 <li> 4145 <span class="entry_type_enum_name">FAST</span> 4146 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 4147 bayer output</span> 4148 </li> 4149 <li> 4150 <span class="entry_type_enum_name">HIGH_QUALITY</span> 4151 <span class="entry_type_enum_notes">Frame rate may be reduced by high 4152 quality</span> 4153 </li> 4154 </ul> 4155 4156 </td> <!-- entry_type --> 4157 4158 <td class="entry_description"> 4159 Operating mode of geometric 4160 correction 4161 </td> 4162 4163 <td class="entry_units"> 4164 </td> 4165 4166 <td class="entry_range"> 4167 </td> 4168 4169 <td class="entry_notes"> 4170 </td> 4171 4172 <td class="entry_tags"> 4173 </td> 4174 4175 </tr> <!-- end of entry --> 4176 4177 4178 <tr class="entry" id="controls_android.geometric.strength"> 4179 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td> 4180 <td class="entry_type"> 4181 <span class="entry_type_name">byte</span> 4182 4183 <span class="entry_type_visibility"> [system]</span> 4184 4185 4186 </td> <!-- entry_type --> 4187 4188 <td class="entry_description"> 4189 Control the amount of shading correction 4190 applied to the images 4191 </td> 4192 4193 <td class="entry_units"> 4194 unitless: 1-10; 10 is full shading 4195 compensation 4196 </td> 4197 4198 <td class="entry_range"> 4199 </td> 4200 4201 <td class="entry_notes"> 4202 </td> 4203 4204 <td class="entry_tags"> 4205 <ul class="entry_tags"> 4206 <li><a href="#tag_ADV">ADV</a></li> 4207 </ul> 4208 </td> 4209 4210 </tr> <!-- end of entry --> 4211 4212 4213 4214 <!-- end of kind --> 4215 </tbody> 4216 4217 <!-- end of section --> 4218 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr> 4219 4220 4221 <tr><td colspan="7" class="kind">controls</td></tr> 4222 4223 <thead class="entries_header"> 4224 <tr> 4225 <th class="th_name">Property Name</th> 4226 <th class="th_type">Type</th> 4227 <th class="th_description">Description</th> 4228 <th class="th_units">Units</th> 4229 <th class="th_range">Range</th> 4230 <th class="th_notes">Notes</th> 4231 <th class="th_tags">Tags</th> 4232 </tr> 4233 </thead> 4234 4235 <tbody> 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 <tr class="entry" id="controls_android.hotPixel.mode"> 4247 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td> 4248 <td class="entry_type"> 4249 <span class="entry_type_name entry_type_name_enum">byte</span> 4250 4251 <span class="entry_type_visibility"> [system]</span> 4252 4253 <ul class="entry_type_enum"> 4254 <li> 4255 <span class="entry_type_enum_name">OFF</span> 4256 <span class="entry_type_enum_notes">No hot pixel correction can be 4257 applied</span> 4258 </li> 4259 <li> 4260 <span class="entry_type_enum_name">FAST</span> 4261 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw 4262 Bayer output</span> 4263 </li> 4264 <li> 4265 <span class="entry_type_enum_name">HIGH_QUALITY</span> 4266 <span class="entry_type_enum_notes">Frame rate may be reduced by high 4267 quality</span> 4268 </li> 4269 </ul> 4270 4271 </td> <!-- entry_type --> 4272 4273 <td class="entry_description"> 4274 Set operational mode for hot pixel 4275 correction 4276 </td> 4277 4278 <td class="entry_units"> 4279 </td> 4280 4281 <td class="entry_range"> 4282 </td> 4283 4284 <td class="entry_notes"> 4285 </td> 4286 4287 <td class="entry_tags"> 4288 <ul class="entry_tags"> 4289 <li><a href="#tag_V1">V1</a></li> 4290 </ul> 4291 </td> 4292 4293 </tr> <!-- end of entry --> 4294 4295 4296 4297 <!-- end of kind --> 4298 </tbody> 4299 <tr><td colspan="7" class="kind">static</td></tr> 4300 4301 <thead class="entries_header"> 4302 <tr> 4303 <th class="th_name">Property Name</th> 4304 <th class="th_type">Type</th> 4305 <th class="th_description">Description</th> 4306 <th class="th_units">Units</th> 4307 <th class="th_range">Range</th> 4308 <th class="th_notes">Notes</th> 4309 <th class="th_tags">Tags</th> 4310 </tr> 4311 </thead> 4312 4313 <tbody> 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 <tr class="entry" id="static_android.hotPixel.info.map"> 4327 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td> 4328 <td class="entry_type"> 4329 <span class="entry_type_name">int32</span> 4330 <span class="entry_type_container">x</span> 4331 4332 <span class="entry_type_array"> 4333 2 x n 4334 </span> 4335 <span class="entry_type_visibility"> [system]</span> 4336 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div> 4337 4338 4339 </td> <!-- entry_type --> 4340 4341 <td class="entry_description"> 4342 Location of hot/<wbr>defective pixels on 4343 sensor 4344 </td> 4345 4346 <td class="entry_units"> 4347 </td> 4348 4349 <td class="entry_range"> 4350 </td> 4351 4352 <td class="entry_notes"> 4353 </td> 4354 4355 <td class="entry_tags"> 4356 <ul class="entry_tags"> 4357 <li><a href="#tag_ADV">ADV</a></li> 4358 </ul> 4359 </td> 4360 4361 </tr> <!-- end of entry --> 4362 4363 4364 4365 4366 4367 4368 <!-- end of kind --> 4369 </tbody> 4370 <tr><td colspan="7" class="kind">dynamic</td></tr> 4371 4372 <thead class="entries_header"> 4373 <tr> 4374 <th class="th_name">Property Name</th> 4375 <th class="th_type">Type</th> 4376 <th class="th_description">Description</th> 4377 <th class="th_units">Units</th> 4378 <th class="th_range">Range</th> 4379 <th class="th_notes">Notes</th> 4380 <th class="th_tags">Tags</th> 4381 </tr> 4382 </thead> 4383 4384 <tbody> 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 <tr class="entry" id="dynamic_android.hotPixel.mode"> 4396 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td> 4397 <td class="entry_type"> 4398 <span class="entry_type_name entry_type_name_enum">byte</span> 4399 4400 <span class="entry_type_visibility"> [system]</span> 4401 4402 <ul class="entry_type_enum"> 4403 <li> 4404 <span class="entry_type_enum_name">OFF</span> 4405 <span class="entry_type_enum_notes">No hot pixel correction can be 4406 applied</span> 4407 </li> 4408 <li> 4409 <span class="entry_type_enum_name">FAST</span> 4410 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw 4411 Bayer output</span> 4412 </li> 4413 <li> 4414 <span class="entry_type_enum_name">HIGH_QUALITY</span> 4415 <span class="entry_type_enum_notes">Frame rate may be reduced by high 4416 quality</span> 4417 </li> 4418 </ul> 4419 4420 </td> <!-- entry_type --> 4421 4422 <td class="entry_description"> 4423 Set operational mode for hot pixel 4424 correction 4425 </td> 4426 4427 <td class="entry_units"> 4428 </td> 4429 4430 <td class="entry_range"> 4431 </td> 4432 4433 <td class="entry_notes"> 4434 </td> 4435 4436 <td class="entry_tags"> 4437 <ul class="entry_tags"> 4438 <li><a href="#tag_V1">V1</a></li> 4439 </ul> 4440 </td> 4441 4442 </tr> <!-- end of entry --> 4443 4444 4445 4446 <!-- end of kind --> 4447 </tbody> 4448 4449 <!-- end of section --> 4450 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr> 4451 4452 4453 <tr><td colspan="7" class="kind">controls</td></tr> 4454 4455 <thead class="entries_header"> 4456 <tr> 4457 <th class="th_name">Property Name</th> 4458 <th class="th_type">Type</th> 4459 <th class="th_description">Description</th> 4460 <th class="th_units">Units</th> 4461 <th class="th_range">Range</th> 4462 <th class="th_notes">Notes</th> 4463 <th class="th_tags">Tags</th> 4464 </tr> 4465 </thead> 4466 4467 <tbody> 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 <tr class="entry" id="controls_android.jpeg.gpsCoordinates"> 4479 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td> 4480 <td class="entry_type"> 4481 <span class="entry_type_name">double</span> 4482 <span class="entry_type_container">x</span> 4483 4484 <span class="entry_type_array"> 4485 3 4486 </span> 4487 <span class="entry_type_visibility"> [public]</span> 4488 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div> 4489 4490 4491 </td> <!-- entry_type --> 4492 4493 <td class="entry_description"> 4494 GPS coordinates to include in output JPEG 4495 EXIF 4496 </td> 4497 4498 <td class="entry_units"> 4499 </td> 4500 4501 <td class="entry_range"> 4502 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf] 4503 </td> 4504 4505 <td class="entry_notes"> 4506 </td> 4507 4508 <td class="entry_tags"> 4509 <ul class="entry_tags"> 4510 <li><a href="#tag_BC">BC</a></li> 4511 </ul> 4512 </td> 4513 4514 </tr> <!-- end of entry --> 4515 4516 4517 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod"> 4518 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td> 4519 <td class="entry_type"> 4520 <span class="entry_type_name">byte</span> 4521 4522 <span class="entry_type_visibility"> [public as string]</span> 4523 4524 4525 </td> <!-- entry_type --> 4526 4527 <td class="entry_description"> 4528 32 characters describing GPS algorithm to 4529 include in EXIF 4530 </td> 4531 4532 <td class="entry_units"> 4533 UTF-8 null-terminated string 4534 </td> 4535 4536 <td class="entry_range"> 4537 </td> 4538 4539 <td class="entry_notes"> 4540 </td> 4541 4542 <td class="entry_tags"> 4543 <ul class="entry_tags"> 4544 <li><a href="#tag_BC">BC</a></li> 4545 </ul> 4546 </td> 4547 4548 </tr> <!-- end of entry --> 4549 4550 4551 <tr class="entry" id="controls_android.jpeg.gpsTimestamp"> 4552 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td> 4553 <td class="entry_type"> 4554 <span class="entry_type_name">int64</span> 4555 4556 <span class="entry_type_visibility"> [public]</span> 4557 4558 4559 </td> <!-- entry_type --> 4560 4561 <td class="entry_description"> 4562 Time GPS fix was made to include in 4563 EXIF 4564 </td> 4565 4566 <td class="entry_units"> 4567 UTC in seconds since January 1,<wbr> 1970 4568 </td> 4569 4570 <td class="entry_range"> 4571 </td> 4572 4573 <td class="entry_notes"> 4574 </td> 4575 4576 <td class="entry_tags"> 4577 <ul class="entry_tags"> 4578 <li><a href="#tag_BC">BC</a></li> 4579 </ul> 4580 </td> 4581 4582 </tr> <!-- end of entry --> 4583 4584 4585 <tr class="entry" id="controls_android.jpeg.orientation"> 4586 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td> 4587 <td class="entry_type"> 4588 <span class="entry_type_name">int32</span> 4589 4590 <span class="entry_type_visibility"> [public]</span> 4591 4592 4593 </td> <!-- entry_type --> 4594 4595 <td class="entry_description"> 4596 Orientation of JPEG image to 4597 write 4598 </td> 4599 4600 <td class="entry_units"> 4601 Degrees in multiples of 90 4602 </td> 4603 4604 <td class="entry_range"> 4605 0,<wbr> 90,<wbr> 180,<wbr> 270 4606 </td> 4607 4608 <td class="entry_notes"> 4609 </td> 4610 4611 <td class="entry_tags"> 4612 <ul class="entry_tags"> 4613 <li><a href="#tag_BC">BC</a></li> 4614 </ul> 4615 </td> 4616 4617 </tr> <!-- end of entry --> 4618 4619 4620 <tr class="entry" id="controls_android.jpeg.quality"> 4621 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td> 4622 <td class="entry_type"> 4623 <span class="entry_type_name">byte</span> 4624 4625 <span class="entry_type_visibility"> [public]</span> 4626 4627 4628 </td> <!-- entry_type --> 4629 4630 <td class="entry_description"> 4631 Compression quality of the final JPEG 4632 image 4633 </td> 4634 4635 <td class="entry_units"> 4636 </td> 4637 4638 <td class="entry_range"> 4639 1-100; larger is higher quality 4640 </td> 4641 4642 <td class="entry_notes"> 4643 85-95 is typical usage range 4644 </td> 4645 4646 <td class="entry_tags"> 4647 <ul class="entry_tags"> 4648 <li><a href="#tag_BC">BC</a></li> 4649 </ul> 4650 </td> 4651 4652 </tr> <!-- end of entry --> 4653 4654 4655 <tr class="entry" id="controls_android.jpeg.thumbnailQuality"> 4656 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td> 4657 <td class="entry_type"> 4658 <span class="entry_type_name">byte</span> 4659 4660 <span class="entry_type_visibility"> [public]</span> 4661 4662 4663 </td> <!-- entry_type --> 4664 4665 <td class="entry_description"> 4666 Compression quality of JPEG 4667 thumbnail 4668 </td> 4669 4670 <td class="entry_units"> 4671 </td> 4672 4673 <td class="entry_range"> 4674 1-100; larger is higher quality 4675 </td> 4676 4677 <td class="entry_notes"> 4678 </td> 4679 4680 <td class="entry_tags"> 4681 <ul class="entry_tags"> 4682 <li><a href="#tag_BC">BC</a></li> 4683 </ul> 4684 </td> 4685 4686 </tr> <!-- end of entry --> 4687 4688 4689 <tr class="entry" id="controls_android.jpeg.thumbnailSize"> 4690 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td> 4691 <td class="entry_type"> 4692 <span class="entry_type_name">int32</span> 4693 <span class="entry_type_container">x</span> 4694 4695 <span class="entry_type_array"> 4696 2 4697 </span> 4698 <span class="entry_type_visibility"> [public as size]</span> 4699 4700 4701 </td> <!-- entry_type --> 4702 4703 <td class="entry_description"> 4704 Resolution of embedded JPEG 4705 thumbnail 4706 </td> 4707 4708 <td class="entry_units"> 4709 </td> 4710 4711 <td class="entry_range"> 4712 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes 4713 </td> 4714 4715 <td class="entry_notes"> 4716 </td> 4717 4718 <td class="entry_tags"> 4719 <ul class="entry_tags"> 4720 <li><a href="#tag_BC">BC</a></li> 4721 </ul> 4722 </td> 4723 4724 </tr> <!-- end of entry --> 4725 4726 4727 4728 <!-- end of kind --> 4729 </tbody> 4730 <tr><td colspan="7" class="kind">static</td></tr> 4731 4732 <thead class="entries_header"> 4733 <tr> 4734 <th class="th_name">Property Name</th> 4735 <th class="th_type">Type</th> 4736 <th class="th_description">Description</th> 4737 <th class="th_units">Units</th> 4738 <th class="th_range">Range</th> 4739 <th class="th_notes">Notes</th> 4740 <th class="th_tags">Tags</th> 4741 </tr> 4742 </thead> 4743 4744 <tbody> 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes"> 4756 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td> 4757 <td class="entry_type"> 4758 <span class="entry_type_name">int32</span> 4759 <span class="entry_type_container">x</span> 4760 4761 <span class="entry_type_array"> 4762 2 x n 4763 </span> 4764 <span class="entry_type_visibility"> [public as size]</span> 4765 <div class="entry_type_notes">list of resolution pairs</div> 4766 4767 4768 </td> <!-- entry_type --> 4769 4770 <td class="entry_description"> 4771 Supported resolutions for the JPEG 4772 thumbnail 4773 </td> 4774 4775 <td class="entry_units"> 4776 </td> 4777 4778 <td class="entry_range"> 4779 Must include at least one valid resolution,<wbr> plus 4780 (0,<wbr>0) for no thumbnail generation 4781 </td> 4782 4783 <td class="entry_notes"> 4784 </td> 4785 4786 <td class="entry_tags"> 4787 <ul class="entry_tags"> 4788 <li><a href="#tag_BC">BC</a></li> 4789 </ul> 4790 </td> 4791 4792 </tr> <!-- end of entry --> 4793 4794 4795 <tr class="entry" id="static_android.jpeg.maxSize"> 4796 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td> 4797 <td class="entry_type"> 4798 <span class="entry_type_name">int32</span> 4799 4800 <span class="entry_type_visibility"> [system]</span> 4801 4802 4803 </td> <!-- entry_type --> 4804 4805 <td class="entry_description"> 4806 Maximum size in bytes for the compressed 4807 JPEG buffer 4808 </td> 4809 4810 <td class="entry_units"> 4811 </td> 4812 4813 <td class="entry_range"> 4814 Must be large enough to fit any JPEG produced by 4815 the camera 4816 </td> 4817 4818 <td class="entry_notes"> 4819 This is used for sizing the gralloc buffers for 4820 JPEG 4821 </td> 4822 4823 <td class="entry_tags"> 4824 </td> 4825 4826 </tr> <!-- end of entry --> 4827 4828 4829 4830 <!-- end of kind --> 4831 </tbody> 4832 <tr><td colspan="7" class="kind">dynamic</td></tr> 4833 4834 <thead class="entries_header"> 4835 <tr> 4836 <th class="th_name">Property Name</th> 4837 <th class="th_type">Type</th> 4838 <th class="th_description">Description</th> 4839 <th class="th_units">Units</th> 4840 <th class="th_range">Range</th> 4841 <th class="th_notes">Notes</th> 4842 <th class="th_tags">Tags</th> 4843 </tr> 4844 </thead> 4845 4846 <tbody> 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates"> 4858 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td> 4859 <td class="entry_type"> 4860 <span class="entry_type_name">double</span> 4861 <span class="entry_type_container">x</span> 4862 4863 <span class="entry_type_array"> 4864 3 4865 </span> 4866 <span class="entry_type_visibility"> [public]</span> 4867 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div> 4868 4869 4870 </td> <!-- entry_type --> 4871 4872 <td class="entry_description"> 4873 GPS coordinates to include in output JPEG 4874 EXIF 4875 </td> 4876 4877 <td class="entry_units"> 4878 </td> 4879 4880 <td class="entry_range"> 4881 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf] 4882 </td> 4883 4884 <td class="entry_notes"> 4885 </td> 4886 4887 <td class="entry_tags"> 4888 <ul class="entry_tags"> 4889 <li><a href="#tag_BC">BC</a></li> 4890 </ul> 4891 </td> 4892 4893 </tr> <!-- end of entry --> 4894 4895 4896 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod"> 4897 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td> 4898 <td class="entry_type"> 4899 <span class="entry_type_name">byte</span> 4900 4901 <span class="entry_type_visibility"> [public as string]</span> 4902 4903 4904 </td> <!-- entry_type --> 4905 4906 <td class="entry_description"> 4907 32 characters describing GPS algorithm to 4908 include in EXIF 4909 </td> 4910 4911 <td class="entry_units"> 4912 UTF-8 null-terminated string 4913 </td> 4914 4915 <td class="entry_range"> 4916 </td> 4917 4918 <td class="entry_notes"> 4919 </td> 4920 4921 <td class="entry_tags"> 4922 <ul class="entry_tags"> 4923 <li><a href="#tag_BC">BC</a></li> 4924 </ul> 4925 </td> 4926 4927 </tr> <!-- end of entry --> 4928 4929 4930 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp"> 4931 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td> 4932 <td class="entry_type"> 4933 <span class="entry_type_name">int64</span> 4934 4935 <span class="entry_type_visibility"> [public]</span> 4936 4937 4938 </td> <!-- entry_type --> 4939 4940 <td class="entry_description"> 4941 Time GPS fix was made to include in 4942 EXIF 4943 </td> 4944 4945 <td class="entry_units"> 4946 UTC in seconds since January 1,<wbr> 1970 4947 </td> 4948 4949 <td class="entry_range"> 4950 </td> 4951 4952 <td class="entry_notes"> 4953 </td> 4954 4955 <td class="entry_tags"> 4956 <ul class="entry_tags"> 4957 <li><a href="#tag_BC">BC</a></li> 4958 </ul> 4959 </td> 4960 4961 </tr> <!-- end of entry --> 4962 4963 4964 <tr class="entry" id="dynamic_android.jpeg.orientation"> 4965 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td> 4966 <td class="entry_type"> 4967 <span class="entry_type_name">int32</span> 4968 4969 <span class="entry_type_visibility"> [public]</span> 4970 4971 4972 </td> <!-- entry_type --> 4973 4974 <td class="entry_description"> 4975 Orientation of JPEG image to 4976 write 4977 </td> 4978 4979 <td class="entry_units"> 4980 Degrees in multiples of 90 4981 </td> 4982 4983 <td class="entry_range"> 4984 0,<wbr> 90,<wbr> 180,<wbr> 270 4985 </td> 4986 4987 <td class="entry_notes"> 4988 </td> 4989 4990 <td class="entry_tags"> 4991 <ul class="entry_tags"> 4992 <li><a href="#tag_BC">BC</a></li> 4993 </ul> 4994 </td> 4995 4996 </tr> <!-- end of entry --> 4997 4998 4999 <tr class="entry" id="dynamic_android.jpeg.quality"> 5000 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td> 5001 <td class="entry_type"> 5002 <span class="entry_type_name">byte</span> 5003 5004 <span class="entry_type_visibility"> [public]</span> 5005 5006 5007 </td> <!-- entry_type --> 5008 5009 <td class="entry_description"> 5010 Compression quality of the final JPEG 5011 image 5012 </td> 5013 5014 <td class="entry_units"> 5015 </td> 5016 5017 <td class="entry_range"> 5018 1-100; larger is higher quality 5019 </td> 5020 5021 <td class="entry_notes"> 5022 85-95 is typical usage range 5023 </td> 5024 5025 <td class="entry_tags"> 5026 <ul class="entry_tags"> 5027 <li><a href="#tag_BC">BC</a></li> 5028 </ul> 5029 </td> 5030 5031 </tr> <!-- end of entry --> 5032 5033 5034 <tr class="entry" id="dynamic_android.jpeg.size"> 5035 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td> 5036 <td class="entry_type"> 5037 <span class="entry_type_name">int32</span> 5038 5039 <span class="entry_type_visibility"> [system]</span> 5040 5041 5042 </td> <!-- entry_type --> 5043 5044 <td class="entry_description"> 5045 The size of the compressed JPEG image,<wbr> in 5046 bytes 5047 </td> 5048 5049 <td class="entry_units"> 5050 </td> 5051 5052 <td class="entry_range"> 5053 >= 0 5054 </td> 5055 5056 <td class="entry_notes"> 5057 If no JPEG output is produced for the request,<wbr> 5058 this must be 0.<wbr> 5059 <br> 5060 <br> Otherwise,<wbr> this describes the real size of the compressed 5061 JPEG image placed in the output stream.<wbr> More specifically,<wbr> 5062 if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture 5063 has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from 5064 the JPEG stream will be 1000000 bytes,<wbr> of which the first 5065 500000 make up the real data.<wbr> 5066 </td> 5067 5068 <td class="entry_tags"> 5069 </td> 5070 5071 </tr> <!-- end of entry --> 5072 5073 5074 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality"> 5075 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td> 5076 <td class="entry_type"> 5077 <span class="entry_type_name">byte</span> 5078 5079 <span class="entry_type_visibility"> [public]</span> 5080 5081 5082 </td> <!-- entry_type --> 5083 5084 <td class="entry_description"> 5085 Compression quality of JPEG 5086 thumbnail 5087 </td> 5088 5089 <td class="entry_units"> 5090 </td> 5091 5092 <td class="entry_range"> 5093 1-100; larger is higher quality 5094 </td> 5095 5096 <td class="entry_notes"> 5097 </td> 5098 5099 <td class="entry_tags"> 5100 <ul class="entry_tags"> 5101 <li><a href="#tag_BC">BC</a></li> 5102 </ul> 5103 </td> 5104 5105 </tr> <!-- end of entry --> 5106 5107 5108 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize"> 5109 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td> 5110 <td class="entry_type"> 5111 <span class="entry_type_name">int32</span> 5112 <span class="entry_type_container">x</span> 5113 5114 <span class="entry_type_array"> 5115 2 5116 </span> 5117 <span class="entry_type_visibility"> [public as size]</span> 5118 5119 5120 </td> <!-- entry_type --> 5121 5122 <td class="entry_description"> 5123 Resolution of embedded JPEG 5124 thumbnail 5125 </td> 5126 5127 <td class="entry_units"> 5128 </td> 5129 5130 <td class="entry_range"> 5131 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes 5132 </td> 5133 5134 <td class="entry_notes"> 5135 </td> 5136 5137 <td class="entry_tags"> 5138 <ul class="entry_tags"> 5139 <li><a href="#tag_BC">BC</a></li> 5140 </ul> 5141 </td> 5142 5143 </tr> <!-- end of entry --> 5144 5145 5146 5147 <!-- end of kind --> 5148 </tbody> 5149 5150 <!-- end of section --> 5151 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr> 5152 5153 5154 <tr><td colspan="7" class="kind">controls</td></tr> 5155 5156 <thead class="entries_header"> 5157 <tr> 5158 <th class="th_name">Property Name</th> 5159 <th class="th_type">Type</th> 5160 <th class="th_description">Description</th> 5161 <th class="th_units">Units</th> 5162 <th class="th_range">Range</th> 5163 <th class="th_notes">Notes</th> 5164 <th class="th_tags">Tags</th> 5165 </tr> 5166 </thead> 5167 5168 <tbody> 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 <tr class="entry" id="controls_android.lens.aperture"> 5180 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td> 5181 <td class="entry_type"> 5182 <span class="entry_type_name">float</span> 5183 5184 <span class="entry_type_visibility"> [public]</span> 5185 5186 5187 </td> <!-- entry_type --> 5188 5189 <td class="entry_description"> 5190 Size of the lens aperture 5191 </td> 5192 5193 <td class="entry_units"> 5194 f-number (f/<wbr>NNN) 5195 </td> 5196 5197 <td class="entry_range"> 5198 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures 5199 </td> 5200 5201 <td class="entry_notes"> 5202 Will not be supported on most devices.<wbr> Can only 5203 pick from supported list 5204 </td> 5205 5206 <td class="entry_tags"> 5207 <ul class="entry_tags"> 5208 <li><a href="#tag_V1">V1</a></li> 5209 </ul> 5210 </td> 5211 5212 </tr> <!-- end of entry --> 5213 5214 5215 <tr class="entry" id="controls_android.lens.filterDensity"> 5216 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td> 5217 <td class="entry_type"> 5218 <span class="entry_type_name">float</span> 5219 5220 <span class="entry_type_visibility"> [public]</span> 5221 5222 5223 </td> <!-- entry_type --> 5224 5225 <td class="entry_description"> 5226 State of lens neutral density 5227 filter(s) 5228 </td> 5229 5230 <td class="entry_units"> 5231 number of stops of filtering 5232 </td> 5233 5234 <td class="entry_range"> 5235 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities 5236 </td> 5237 5238 <td class="entry_notes"> 5239 Will not be supported on most devices.<wbr> Can only 5240 pick from supported list 5241 </td> 5242 5243 <td class="entry_tags"> 5244 <ul class="entry_tags"> 5245 <li><a href="#tag_V1">V1</a></li> 5246 </ul> 5247 </td> 5248 5249 </tr> <!-- end of entry --> 5250 5251 5252 <tr class="entry" id="controls_android.lens.focalLength"> 5253 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td> 5254 <td class="entry_type"> 5255 <span class="entry_type_name">float</span> 5256 5257 <span class="entry_type_visibility"> [public]</span> 5258 5259 5260 </td> <!-- entry_type --> 5261 5262 <td class="entry_description"> 5263 Lens optical zoom setting 5264 </td> 5265 5266 <td class="entry_units"> 5267 focal length in mm 5268 </td> 5269 5270 <td class="entry_range"> 5271 > 0 5272 </td> 5273 5274 <td class="entry_notes"> 5275 Will not be supported on most devices.<wbr> 5276 </td> 5277 5278 <td class="entry_tags"> 5279 <ul class="entry_tags"> 5280 <li><a href="#tag_V1">V1</a></li> 5281 </ul> 5282 </td> 5283 5284 </tr> <!-- end of entry --> 5285 5286 5287 <tr class="entry" id="controls_android.lens.focusDistance"> 5288 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td> 5289 <td class="entry_type"> 5290 <span class="entry_type_name">float</span> 5291 5292 <span class="entry_type_visibility"> [public]</span> 5293 5294 5295 </td> <!-- entry_type --> 5296 5297 <td class="entry_description"> 5298 Distance to plane of sharpest focus,<wbr> 5299 measured from frontmost surface of the lens 5300 </td> 5301 5302 <td class="entry_units"> 5303 diopters (1/<wbr>m) 5304 </td> 5305 5306 <td class="entry_range"> 5307 >= 0 5308 </td> 5309 5310 <td class="entry_notes"> 5311 0 = infinity focus.<wbr> Used value should be clamped 5312 to (0,<wbr>minimum focus distance) 5313 </td> 5314 5315 <td class="entry_tags"> 5316 <ul class="entry_tags"> 5317 <li><a href="#tag_BC">BC</a></li> 5318 <li><a href="#tag_V1">V1</a></li> 5319 </ul> 5320 </td> 5321 5322 </tr> <!-- end of entry --> 5323 5324 5325 <tr class="entry" id="controls_android.lens.opticalStabilizationMode"> 5326 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td> 5327 <td class="entry_type"> 5328 <span class="entry_type_name entry_type_name_enum">byte</span> 5329 5330 <span class="entry_type_visibility"> [public]</span> 5331 5332 <ul class="entry_type_enum"> 5333 <li> 5334 <span class="entry_type_enum_name">OFF</span> 5335 </li> 5336 <li> 5337 <span class="entry_type_enum_name">ON</span> 5338 <span class="entry_type_enum_optional">optional</span> 5339 </li> 5340 </ul> 5341 5342 </td> <!-- entry_type --> 5343 5344 <td class="entry_description"> 5345 Whether optical image stabilization is 5346 enabled.<wbr> 5347 </td> 5348 5349 <td class="entry_units"> 5350 </td> 5351 5352 <td class="entry_range"> 5353 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization 5354 </td> 5355 5356 <td class="entry_notes"> 5357 Will not be supported on most devices.<wbr> 5358 </td> 5359 5360 <td class="entry_tags"> 5361 <ul class="entry_tags"> 5362 <li><a href="#tag_V1">V1</a></li> 5363 </ul> 5364 </td> 5365 5366 </tr> <!-- end of entry --> 5367 5368 5369 5370 <!-- end of kind --> 5371 </tbody> 5372 <tr><td colspan="7" class="kind">static</td></tr> 5373 5374 <thead class="entries_header"> 5375 <tr> 5376 <th class="th_name">Property Name</th> 5377 <th class="th_type">Type</th> 5378 <th class="th_description">Description</th> 5379 <th class="th_units">Units</th> 5380 <th class="th_range">Range</th> 5381 <th class="th_notes">Notes</th> 5382 <th class="th_tags">Tags</th> 5383 </tr> 5384 </thead> 5385 5386 <tbody> 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 <tr class="entry" id="static_android.lens.info.availableApertures"> 5400 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td> 5401 <td class="entry_type"> 5402 <span class="entry_type_name">float</span> 5403 <span class="entry_type_container">x</span> 5404 5405 <span class="entry_type_array"> 5406 n 5407 </span> 5408 <span class="entry_type_visibility"> [public]</span> 5409 5410 5411 </td> <!-- entry_type --> 5412 5413 <td class="entry_description"> 5414 List of supported aperture 5415 values 5416 </td> 5417 5418 <td class="entry_units"> 5419 </td> 5420 5421 <td class="entry_range"> 5422 one entry required,<wbr> > 0 5423 </td> 5424 5425 <td class="entry_notes"> 5426 If variable aperture not available,<wbr> only setting 5427 should be for the fixed aperture 5428 </td> 5429 5430 <td class="entry_tags"> 5431 <ul class="entry_tags"> 5432 <li><a href="#tag_V1">V1</a></li> 5433 </ul> 5434 </td> 5435 5436 </tr> <!-- end of entry --> 5437 5438 5439 <tr class="entry" id="static_android.lens.info.availableFilterDensities"> 5440 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td> 5441 <td class="entry_type"> 5442 <span class="entry_type_name">float</span> 5443 <span class="entry_type_container">x</span> 5444 5445 <span class="entry_type_array"> 5446 n 5447 </span> 5448 <span class="entry_type_visibility"> [public]</span> 5449 5450 5451 </td> <!-- entry_type --> 5452 5453 <td class="entry_description"> 5454 List of supported ND filter 5455 values 5456 </td> 5457 5458 <td class="entry_units"> 5459 </td> 5460 5461 <td class="entry_range"> 5462 one entry required,<wbr> >= 0 5463 </td> 5464 5465 <td class="entry_notes"> 5466 If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr> 5467 lists the available exposure index values for dimming 5468 (2 would mean the filter is set to reduce incoming 5469 light by two stops) 5470 </td> 5471 5472 <td class="entry_tags"> 5473 <ul class="entry_tags"> 5474 <li><a href="#tag_V1">V1</a></li> 5475 </ul> 5476 </td> 5477 5478 </tr> <!-- end of entry --> 5479 5480 5481 <tr class="entry" id="static_android.lens.info.availableFocalLengths"> 5482 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td> 5483 <td class="entry_type"> 5484 <span class="entry_type_name">float</span> 5485 <span class="entry_type_container">x</span> 5486 5487 <span class="entry_type_array"> 5488 n 5489 </span> 5490 <span class="entry_type_visibility"> [public]</span> 5491 <div class="entry_type_notes">the list of available focal lengths</div> 5492 5493 5494 </td> <!-- entry_type --> 5495 5496 <td class="entry_description"> 5497 If fitted with optical zoom,<wbr> what focal 5498 lengths are available.<wbr> If not,<wbr> the static focal 5499 length 5500 </td> 5501 5502 <td class="entry_units"> 5503 </td> 5504 5505 <td class="entry_range"> 5506 > 0 5507 </td> 5508 5509 <td class="entry_notes"> 5510 If optical zoom not supported,<wbr> only one value 5511 should be reported 5512 </td> 5513 5514 <td class="entry_tags"> 5515 <ul class="entry_tags"> 5516 <li><a href="#tag_BC">BC</a></li> 5517 <li><a href="#tag_V1">V1</a></li> 5518 </ul> 5519 </td> 5520 5521 </tr> <!-- end of entry --> 5522 5523 5524 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization"> 5525 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td> 5526 <td class="entry_type"> 5527 <span class="entry_type_name">byte</span> 5528 <span class="entry_type_container">x</span> 5529 5530 <span class="entry_type_array"> 5531 n 5532 </span> 5533 <span class="entry_type_visibility"> [public]</span> 5534 <div class="entry_type_notes">list of enums</div> 5535 5536 5537 </td> <!-- entry_type --> 5538 5539 <td class="entry_description"> 5540 List of supported optical image 5541 stabilization modes 5542 </td> 5543 5544 <td class="entry_units"> 5545 </td> 5546 5547 <td class="entry_range"> 5548 </td> 5549 5550 <td class="entry_notes"> 5551 </td> 5552 5553 <td class="entry_tags"> 5554 <ul class="entry_tags"> 5555 <li><a href="#tag_V1">V1</a></li> 5556 </ul> 5557 </td> 5558 5559 </tr> <!-- end of entry --> 5560 5561 5562 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap"> 5563 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td> 5564 <td class="entry_type"> 5565 <span class="entry_type_name">float</span> 5566 <span class="entry_type_container">x</span> 5567 5568 <span class="entry_type_array"> 5569 2 x 3 x n x m 5570 </span> 5571 <span class="entry_type_visibility"> [system]</span> 5572 <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> 5573 5574 5575 </td> <!-- entry_type --> 5576 5577 <td class="entry_description"> 5578 A low-resolution map for correction of 5579 geometric distortions and chromatic aberrations,<wbr> per 5580 color channel 5581 </td> 5582 5583 <td class="entry_units"> 5584 </td> 5585 5586 <td class="entry_range"> 5587 N,<wbr> M >= 2 5588 </td> 5589 5590 <td class="entry_notes"> 5591 [DNG wants a function instead].<wbr> What's easiest 5592 for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr> 5593 j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr> 5594 j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array 5595 entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) ) 5596 </td> 5597 5598 <td class="entry_tags"> 5599 <ul class="entry_tags"> 5600 <li><a href="#tag_DNG">DNG</a></li> 5601 </ul> 5602 </td> 5603 5604 </tr> <!-- end of entry --> 5605 5606 5607 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize"> 5608 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td> 5609 <td class="entry_type"> 5610 <span class="entry_type_name">int32</span> 5611 <span class="entry_type_container">x</span> 5612 5613 <span class="entry_type_array"> 5614 2 5615 </span> 5616 <span class="entry_type_visibility"> [system as size]</span> 5617 <div class="entry_type_notes">width and height of geometric correction map</div> 5618 5619 5620 </td> <!-- entry_type --> 5621 5622 <td class="entry_description"> 5623 Dimensions of geometric correction 5624 map 5625 </td> 5626 5627 <td class="entry_units"> 5628 </td> 5629 5630 <td class="entry_range"> 5631 Both values >= 2 5632 </td> 5633 5634 <td class="entry_notes"> 5635 </td> 5636 5637 <td class="entry_tags"> 5638 <ul class="entry_tags"> 5639 <li><a href="#tag_V1">V1</a></li> 5640 </ul> 5641 </td> 5642 5643 </tr> <!-- end of entry --> 5644 5645 5646 <tr class="entry" id="static_android.lens.info.hyperfocalDistance"> 5647 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td> 5648 <td class="entry_type"> 5649 <span class="entry_type_name">float</span> 5650 5651 <span class="entry_type_visibility"> [public]</span> 5652 5653 5654 </td> <!-- entry_type --> 5655 5656 <td class="entry_description"> 5657 Hyperfocal distance for this lens; set to 5658 0 if fixed focus 5659 </td> 5660 5661 <td class="entry_units"> 5662 diopters 5663 </td> 5664 5665 <td class="entry_range"> 5666 >= 0 5667 </td> 5668 5669 <td class="entry_notes"> 5670 The hyperfocal distance is used for the old 5671 API's 'fixed' setting 5672 </td> 5673 5674 <td class="entry_tags"> 5675 <ul class="entry_tags"> 5676 <li><a href="#tag_BC">BC</a></li> 5677 </ul> 5678 </td> 5679 5680 </tr> <!-- end of entry --> 5681 5682 5683 <tr class="entry" id="static_android.lens.info.minimumFocusDistance"> 5684 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td> 5685 <td class="entry_type"> 5686 <span class="entry_type_name">float</span> 5687 5688 <span class="entry_type_visibility"> [public]</span> 5689 5690 5691 </td> <!-- entry_type --> 5692 5693 <td class="entry_description"> 5694 Shortest distance from frontmost surface 5695 of the lens that can be focused correctly 5696 </td> 5697 5698 <td class="entry_units"> 5699 diopters 5700 </td> 5701 5702 <td class="entry_range"> 5703 >= 0 5704 </td> 5705 5706 <td class="entry_notes"> 5707 If the lens is fixed-focus,<wbr> this should be 5708 0 5709 </td> 5710 5711 <td class="entry_tags"> 5712 <ul class="entry_tags"> 5713 <li><a href="#tag_V1">V1</a></li> 5714 </ul> 5715 </td> 5716 5717 </tr> <!-- end of entry --> 5718 5719 5720 <tr class="entry" id="static_android.lens.info.shadingMapSize"> 5721 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td> 5722 <td class="entry_type"> 5723 <span class="entry_type_name">int32</span> 5724 <span class="entry_type_container">x</span> 5725 5726 <span class="entry_type_array"> 5727 2 5728 </span> 5729 <span class="entry_type_visibility"> [public as size]</span> 5730 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div> 5731 5732 5733 </td> <!-- entry_type --> 5734 5735 <td class="entry_description"> 5736 Dimensions of lens shading 5737 map 5738 </td> 5739 5740 <td class="entry_units"> 5741 </td> 5742 5743 <td class="entry_range"> 5744 Both values >= 1 5745 </td> 5746 5747 <td class="entry_notes"> 5748 </td> 5749 5750 <td class="entry_tags"> 5751 <ul class="entry_tags"> 5752 <li><a href="#tag_V1">V1</a></li> 5753 </ul> 5754 </td> 5755 5756 </tr> <!-- end of entry --> 5757 5758 5759 5760 5761 5762 <tr class="entry" id="static_android.lens.facing"> 5763 <td class="entry_name">android.<wbr>lens.<wbr>facing</td> 5764 <td class="entry_type"> 5765 <span class="entry_type_name entry_type_name_enum">byte</span> 5766 5767 <span class="entry_type_visibility"> [public]</span> 5768 5769 <ul class="entry_type_enum"> 5770 <li> 5771 <span class="entry_type_enum_name">FRONT</span> 5772 </li> 5773 <li> 5774 <span class="entry_type_enum_name">BACK</span> 5775 </li> 5776 </ul> 5777 5778 </td> <!-- entry_type --> 5779 5780 <td class="entry_description"> 5781 Direction the camera faces relative to 5782 device screen 5783 </td> 5784 5785 <td class="entry_units"> 5786 </td> 5787 5788 <td class="entry_range"> 5789 </td> 5790 5791 <td class="entry_notes"> 5792 </td> 5793 5794 <td class="entry_tags"> 5795 </td> 5796 5797 </tr> <!-- end of entry --> 5798 5799 5800 <tr class="entry" id="static_android.lens.opticalAxisAngle"> 5801 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td> 5802 <td class="entry_type"> 5803 <span class="entry_type_name">float</span> 5804 <span class="entry_type_container">x</span> 5805 5806 <span class="entry_type_array"> 5807 2 5808 </span> 5809 <span class="entry_type_visibility"> [system]</span> 5810 <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> 5811 5812 5813 </td> <!-- entry_type --> 5814 5815 <td class="entry_description"> 5816 Relative angle of camera optical axis to the 5817 perpendicular axis from the display 5818 </td> 5819 5820 <td class="entry_units"> 5821 </td> 5822 5823 <td class="entry_range"> 5824 [0-90) for first angle,<wbr> [0-360) for second 5825 </td> 5826 5827 <td class="entry_notes"> 5828 Examples: 5829 <br> 5830 <br> (0,<wbr>0) means that the camera optical axis 5831 is perpendicular to the display surface; 5832 <br> 5833 <br> (45,<wbr>0) means that the camera points 45 degrees up when 5834 device is held upright; 5835 <br> 5836 <br> (45,<wbr>90) means the camera points 45 degrees to the right when 5837 the device is held upright.<wbr> 5838 <br> 5839 <br> Use FACING field to determine perpendicular outgoing 5840 direction 5841 </td> 5842 5843 <td class="entry_tags"> 5844 <ul class="entry_tags"> 5845 <li><a href="#tag_ADV">ADV</a></li> 5846 </ul> 5847 </td> 5848 5849 </tr> <!-- end of entry --> 5850 5851 5852 <tr class="entry" id="static_android.lens.position"> 5853 <td class="entry_name">android.<wbr>lens.<wbr>position</td> 5854 <td class="entry_type"> 5855 <span class="entry_type_name">float</span> 5856 <span class="entry_type_container">x</span> 5857 5858 <span class="entry_type_array"> 5859 3, location in mm, in the sensor coordinate 5860 system 5861 </span> 5862 <span class="entry_type_visibility"> [system]</span> 5863 5864 5865 </td> <!-- entry_type --> 5866 5867 <td class="entry_description"> 5868 Coordinates of camera optical axis on 5869 device 5870 </td> 5871 5872 <td class="entry_units"> 5873 </td> 5874 5875 <td class="entry_range"> 5876 </td> 5877 5878 <td class="entry_notes"> 5879 </td> 5880 5881 <td class="entry_tags"> 5882 <ul class="entry_tags"> 5883 <li><a href="#tag_V1">V1</a></li> 5884 </ul> 5885 </td> 5886 5887 </tr> <!-- end of entry --> 5888 5889 5890 5891 <!-- end of kind --> 5892 </tbody> 5893 <tr><td colspan="7" class="kind">dynamic</td></tr> 5894 5895 <thead class="entries_header"> 5896 <tr> 5897 <th class="th_name">Property Name</th> 5898 <th class="th_type">Type</th> 5899 <th class="th_description">Description</th> 5900 <th class="th_units">Units</th> 5901 <th class="th_range">Range</th> 5902 <th class="th_notes">Notes</th> 5903 <th class="th_tags">Tags</th> 5904 </tr> 5905 </thead> 5906 5907 <tbody> 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 <tr class="entry" id="dynamic_android.lens.aperture"> 5919 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td> 5920 <td class="entry_type"> 5921 <span class="entry_type_name">float</span> 5922 5923 <span class="entry_type_visibility"> [public]</span> 5924 5925 5926 </td> <!-- entry_type --> 5927 5928 <td class="entry_description"> 5929 Size of the lens aperture 5930 </td> 5931 5932 <td class="entry_units"> 5933 f-number (f/<wbr>NNN) 5934 </td> 5935 5936 <td class="entry_range"> 5937 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures 5938 </td> 5939 5940 <td class="entry_notes"> 5941 Will not be supported on most devices.<wbr> Can only 5942 pick from supported list 5943 </td> 5944 5945 <td class="entry_tags"> 5946 <ul class="entry_tags"> 5947 <li><a href="#tag_V1">V1</a></li> 5948 </ul> 5949 </td> 5950 5951 </tr> <!-- end of entry --> 5952 5953 5954 <tr class="entry" id="dynamic_android.lens.filterDensity"> 5955 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td> 5956 <td class="entry_type"> 5957 <span class="entry_type_name">float</span> 5958 5959 <span class="entry_type_visibility"> [public]</span> 5960 5961 5962 </td> <!-- entry_type --> 5963 5964 <td class="entry_description"> 5965 State of lens neutral density 5966 filter(s) 5967 </td> 5968 5969 <td class="entry_units"> 5970 number of stops of filtering 5971 </td> 5972 5973 <td class="entry_range"> 5974 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities 5975 </td> 5976 5977 <td class="entry_notes"> 5978 Will not be supported on most devices.<wbr> Can only 5979 pick from supported list 5980 </td> 5981 5982 <td class="entry_tags"> 5983 <ul class="entry_tags"> 5984 <li><a href="#tag_V1">V1</a></li> 5985 </ul> 5986 </td> 5987 5988 </tr> <!-- end of entry --> 5989 5990 5991 <tr class="entry" id="dynamic_android.lens.focalLength"> 5992 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td> 5993 <td class="entry_type"> 5994 <span class="entry_type_name">float</span> 5995 5996 <span class="entry_type_visibility"> [public]</span> 5997 5998 5999 </td> <!-- entry_type --> 6000 6001 <td class="entry_description"> 6002 Lens optical zoom setting 6003 </td> 6004 6005 <td class="entry_units"> 6006 focal length in mm 6007 </td> 6008 6009 <td class="entry_range"> 6010 > 0 6011 </td> 6012 6013 <td class="entry_notes"> 6014 Will not be supported on most devices.<wbr> 6015 </td> 6016 6017 <td class="entry_tags"> 6018 <ul class="entry_tags"> 6019 <li><a href="#tag_BC">BC</a></li> 6020 </ul> 6021 </td> 6022 6023 </tr> <!-- end of entry --> 6024 6025 6026 <tr class="entry" id="dynamic_android.lens.focusDistance"> 6027 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td> 6028 <td class="entry_type"> 6029 <span class="entry_type_name">float</span> 6030 6031 <span class="entry_type_visibility"> [public]</span> 6032 6033 6034 </td> <!-- entry_type --> 6035 6036 <td class="entry_description"> 6037 Distance to plane of sharpest focus,<wbr> 6038 measured from frontmost surface of the lens 6039 </td> 6040 6041 <td class="entry_units"> 6042 diopters (1/<wbr>m) 6043 </td> 6044 6045 <td class="entry_range"> 6046 >= 0 6047 </td> 6048 6049 <td class="entry_notes"> 6050 Should be zero for fixed-focus cameras 6051 </td> 6052 6053 <td class="entry_tags"> 6054 <ul class="entry_tags"> 6055 <li><a href="#tag_BC">BC</a></li> 6056 </ul> 6057 </td> 6058 6059 </tr> <!-- end of entry --> 6060 6061 6062 <tr class="entry" id="dynamic_android.lens.focusRange"> 6063 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td> 6064 <td class="entry_type"> 6065 <span class="entry_type_name">float</span> 6066 <span class="entry_type_container">x</span> 6067 6068 <span class="entry_type_array"> 6069 2 6070 </span> 6071 <span class="entry_type_visibility"> [public]</span> 6072 <div class="entry_type_notes">Range of scene distances that are in focus</div> 6073 6074 6075 </td> <!-- entry_type --> 6076 6077 <td class="entry_description"> 6078 The range of scene distances that are in 6079 sharp focus (depth of field) 6080 </td> 6081 6082 <td class="entry_units"> 6083 pair of focus distances in diopters: (near,<wbr> 6084 far) 6085 </td> 6086 6087 <td class="entry_range"> 6088 >=0 6089 </td> 6090 6091 <td class="entry_notes"> 6092 If variable focus not supported,<wbr> can still report 6093 fixed depth of field range 6094 </td> 6095 6096 <td class="entry_tags"> 6097 <ul class="entry_tags"> 6098 <li><a href="#tag_BC">BC</a></li> 6099 </ul> 6100 </td> 6101 6102 </tr> <!-- end of entry --> 6103 6104 6105 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode"> 6106 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td> 6107 <td class="entry_type"> 6108 <span class="entry_type_name entry_type_name_enum">byte</span> 6109 6110 <span class="entry_type_visibility"> [public]</span> 6111 6112 <ul class="entry_type_enum"> 6113 <li> 6114 <span class="entry_type_enum_name">OFF</span> 6115 </li> 6116 <li> 6117 <span class="entry_type_enum_name">ON</span> 6118 <span class="entry_type_enum_optional">optional</span> 6119 </li> 6120 </ul> 6121 6122 </td> <!-- entry_type --> 6123 6124 <td class="entry_description"> 6125 Whether optical image stabilization is 6126 enabled.<wbr> 6127 </td> 6128 6129 <td class="entry_units"> 6130 </td> 6131 6132 <td class="entry_range"> 6133 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization 6134 </td> 6135 6136 <td class="entry_notes"> 6137 Will not be supported on most devices.<wbr> 6138 </td> 6139 6140 <td class="entry_tags"> 6141 <ul class="entry_tags"> 6142 <li><a href="#tag_V1">V1</a></li> 6143 </ul> 6144 </td> 6145 6146 </tr> <!-- end of entry --> 6147 6148 6149 <tr class="entry" id="dynamic_android.lens.state"> 6150 <td class="entry_name">android.<wbr>lens.<wbr>state</td> 6151 <td class="entry_type"> 6152 <span class="entry_type_name entry_type_name_enum">byte</span> 6153 6154 <span class="entry_type_visibility"> [public]</span> 6155 6156 <ul class="entry_type_enum"> 6157 <li> 6158 <span class="entry_type_enum_name">STATIONARY</span> 6159 </li> 6160 <li> 6161 <span class="entry_type_enum_name">MOVING</span> 6162 </li> 6163 </ul> 6164 6165 </td> <!-- entry_type --> 6166 6167 <td class="entry_description"> 6168 Current lens status 6169 </td> 6170 6171 <td class="entry_units"> 6172 </td> 6173 6174 <td class="entry_range"> 6175 </td> 6176 6177 <td class="entry_notes"> 6178 </td> 6179 6180 <td class="entry_tags"> 6181 <ul class="entry_tags"> 6182 <li><a href="#tag_V1">V1</a></li> 6183 </ul> 6184 </td> 6185 6186 </tr> <!-- end of entry --> 6187 6188 6189 6190 <!-- end of kind --> 6191 </tbody> 6192 6193 <!-- end of section --> 6194 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr> 6195 6196 6197 <tr><td colspan="7" class="kind">controls</td></tr> 6198 6199 <thead class="entries_header"> 6200 <tr> 6201 <th class="th_name">Property Name</th> 6202 <th class="th_type">Type</th> 6203 <th class="th_description">Description</th> 6204 <th class="th_units">Units</th> 6205 <th class="th_range">Range</th> 6206 <th class="th_notes">Notes</th> 6207 <th class="th_tags">Tags</th> 6208 </tr> 6209 </thead> 6210 6211 <tbody> 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 <tr class="entry" id="controls_android.noiseReduction.mode"> 6223 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td> 6224 <td class="entry_type"> 6225 <span class="entry_type_name entry_type_name_enum">byte</span> 6226 6227 <span class="entry_type_visibility"> [public]</span> 6228 6229 <ul class="entry_type_enum"> 6230 <li> 6231 <span class="entry_type_enum_name">OFF</span> 6232 <span class="entry_type_enum_notes">No noise reduction is applied</span> 6233 </li> 6234 <li> 6235 <span class="entry_type_enum_name">FAST</span> 6236 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 6237 bayer output</span> 6238 </li> 6239 <li> 6240 <span class="entry_type_enum_name">HIGH_QUALITY</span> 6241 <span class="entry_type_enum_notes">May slow down frame rate to provide highest 6242 quality</span> 6243 </li> 6244 </ul> 6245 6246 </td> <!-- entry_type --> 6247 6248 <td class="entry_description"> 6249 Mode of operation for the noise reduction 6250 algorithm 6251 </td> 6252 6253 <td class="entry_units"> 6254 </td> 6255 6256 <td class="entry_range"> 6257 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes 6258 </td> 6259 6260 <td class="entry_notes"> 6261 </td> 6262 6263 <td class="entry_tags"> 6264 <ul class="entry_tags"> 6265 <li><a href="#tag_V1">V1</a></li> 6266 </ul> 6267 </td> 6268 6269 </tr> <!-- end of entry --> 6270 6271 6272 <tr class="entry" id="controls_android.noiseReduction.strength"> 6273 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td> 6274 <td class="entry_type"> 6275 <span class="entry_type_name">byte</span> 6276 6277 <span class="entry_type_visibility"> [system]</span> 6278 6279 6280 </td> <!-- entry_type --> 6281 6282 <td class="entry_description"> 6283 Control the amount of noise reduction 6284 applied to the images 6285 </td> 6286 6287 <td class="entry_units"> 6288 1-10; 10 is max noise reduction 6289 </td> 6290 6291 <td class="entry_range"> 6292 1 - 10 6293 </td> 6294 6295 <td class="entry_notes"> 6296 </td> 6297 6298 <td class="entry_tags"> 6299 </td> 6300 6301 </tr> <!-- end of entry --> 6302 6303 6304 6305 <!-- end of kind --> 6306 </tbody> 6307 <tr><td colspan="7" class="kind">dynamic</td></tr> 6308 6309 <thead class="entries_header"> 6310 <tr> 6311 <th class="th_name">Property Name</th> 6312 <th class="th_type">Type</th> 6313 <th class="th_description">Description</th> 6314 <th class="th_units">Units</th> 6315 <th class="th_range">Range</th> 6316 <th class="th_notes">Notes</th> 6317 <th class="th_tags">Tags</th> 6318 </tr> 6319 </thead> 6320 6321 <tbody> 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 <tr class="entry" id="dynamic_android.noiseReduction.mode"> 6333 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td> 6334 <td class="entry_type"> 6335 <span class="entry_type_name entry_type_name_enum">byte</span> 6336 6337 <span class="entry_type_visibility"> [public]</span> 6338 6339 <ul class="entry_type_enum"> 6340 <li> 6341 <span class="entry_type_enum_name">OFF</span> 6342 <span class="entry_type_enum_notes">No noise reduction is applied</span> 6343 </li> 6344 <li> 6345 <span class="entry_type_enum_name">FAST</span> 6346 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 6347 bayer output</span> 6348 </li> 6349 <li> 6350 <span class="entry_type_enum_name">HIGH_QUALITY</span> 6351 <span class="entry_type_enum_notes">May slow down frame rate to provide highest 6352 quality</span> 6353 </li> 6354 </ul> 6355 6356 </td> <!-- entry_type --> 6357 6358 <td class="entry_description"> 6359 Mode of operation for the noise reduction 6360 algorithm 6361 </td> 6362 6363 <td class="entry_units"> 6364 </td> 6365 6366 <td class="entry_range"> 6367 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes 6368 </td> 6369 6370 <td class="entry_notes"> 6371 </td> 6372 6373 <td class="entry_tags"> 6374 <ul class="entry_tags"> 6375 <li><a href="#tag_V1">V1</a></li> 6376 </ul> 6377 </td> 6378 6379 </tr> <!-- end of entry --> 6380 6381 6382 6383 <!-- end of kind --> 6384 </tbody> 6385 6386 <!-- end of section --> 6387 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr> 6388 6389 6390 <tr><td colspan="7" class="kind">static</td></tr> 6391 6392 <thead class="entries_header"> 6393 <tr> 6394 <th class="th_name">Property Name</th> 6395 <th class="th_type">Type</th> 6396 <th class="th_description">Description</th> 6397 <th class="th_units">Units</th> 6398 <th class="th_range">Range</th> 6399 <th class="th_notes">Notes</th> 6400 <th class="th_tags">Tags</th> 6401 </tr> 6402 </thead> 6403 6404 <tbody> 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 <tr class="entry" id="static_android.quirks.meteringCropRegion"> 6416 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td> 6417 <td class="entry_type"> 6418 <span class="entry_type_name">byte</span> 6419 6420 <span class="entry_type_visibility"> [system]</span> 6421 6422 6423 </td> <!-- entry_type --> 6424 6425 <td class="entry_description"> 6426 If set to 1,<wbr> the camera service does not 6427 scale 'normalized' coordinates with respect to the crop 6428 region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region 6429 and output (face rectangles).<wbr> 6430 </td> 6431 6432 <td class="entry_units"> 6433 </td> 6434 6435 <td class="entry_range"> 6436 </td> 6437 6438 <td class="entry_notes"> 6439 Normalized coordinates refer to those in the 6440 (-1000,<wbr>1000) range mentioned in the 6441 android.<wbr>hardware.<wbr><wbr>Camera API.<wbr> 6442 <br> 6443 <br> HAL implementations should instead always use and emit 6444 sensor array-relative coordinates for all region data.<wbr> Does 6445 not need to be listed in static metadata.<wbr> Support will be 6446 removed in future versions of camera service.<wbr> 6447 </td> 6448 6449 <td class="entry_tags"> 6450 </td> 6451 6452 </tr> <!-- end of entry --> 6453 6454 6455 <tr class="entry" id="static_android.quirks.triggerAfWithAuto"> 6456 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td> 6457 <td class="entry_type"> 6458 <span class="entry_type_name">byte</span> 6459 6460 <span class="entry_type_visibility"> [system]</span> 6461 6462 6463 </td> <!-- entry_type --> 6464 6465 <td class="entry_description"> 6466 If set to 1,<wbr> then the camera service always 6467 switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF 6468 trigger.<wbr> 6469 </td> 6470 6471 <td class="entry_units"> 6472 </td> 6473 6474 <td class="entry_range"> 6475 </td> 6476 6477 <td class="entry_notes"> 6478 HAL implementations should implement AF trigger 6479 modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and 6480 CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does 6481 not need to be listed in static metadata.<wbr> Support will be 6482 removed in future versions of camera service 6483 </td> 6484 6485 <td class="entry_tags"> 6486 </td> 6487 6488 </tr> <!-- end of entry --> 6489 6490 6491 <tr class="entry" id="static_android.quirks.useZslFormat"> 6492 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td> 6493 <td class="entry_type"> 6494 <span class="entry_type_name">byte</span> 6495 6496 <span class="entry_type_visibility"> [system]</span> 6497 6498 6499 </td> <!-- entry_type --> 6500 6501 <td class="entry_description"> 6502 If set to 1,<wbr> the camera service uses 6503 CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of 6504 HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero 6505 shutter lag stream 6506 </td> 6507 6508 <td class="entry_units"> 6509 </td> 6510 6511 <td class="entry_range"> 6512 </td> 6513 6514 <td class="entry_notes"> 6515 HAL implementations should use gralloc usage flags 6516 to determine that a stream will be used for 6517 zero-shutter-lag,<wbr> instead of relying on an explicit 6518 format setting.<wbr> Does not need to be listed in static 6519 metadata.<wbr> Support will be removed in future versions of 6520 camera service.<wbr> 6521 </td> 6522 6523 <td class="entry_tags"> 6524 </td> 6525 6526 </tr> <!-- end of entry --> 6527 6528 6529 <tr class="entry" id="static_android.quirks.usePartialResult"> 6530 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Partial<wbr>Result</td> 6531 <td class="entry_type"> 6532 <span class="entry_type_name">byte</span> 6533 6534 <span class="entry_type_visibility"> [hidden]</span> 6535 6536 6537 </td> <!-- entry_type --> 6538 6539 <td class="entry_description"> 6540 If set to 1,<wbr> the HAL will always split result 6541 metadata for a single capture into multiple buffers,<wbr> 6542 returned using multiple process_<wbr>capture_<wbr>result calls.<wbr> 6543 6544 </td> 6545 6546 <td class="entry_units"> 6547 </td> 6548 6549 <td class="entry_range"> 6550 </td> 6551 6552 <td class="entry_notes"> 6553 Does not need to be listed in static 6554 metadata.<wbr> Support for partial results will be reworked in 6555 future versions of camera service.<wbr> This quirk will stop 6556 working at that point; DO NOT USE without careful 6557 consideration of future support.<wbr> 6558 6559 </td> 6560 6561 <td class="entry_tags"> 6562 </td> 6563 6564 </tr> <!-- end of entry --> 6565 6566 6567 6568 <!-- end of kind --> 6569 </tbody> 6570 <tr><td colspan="7" class="kind">dynamic</td></tr> 6571 6572 <thead class="entries_header"> 6573 <tr> 6574 <th class="th_name">Property Name</th> 6575 <th class="th_type">Type</th> 6576 <th class="th_description">Description</th> 6577 <th class="th_units">Units</th> 6578 <th class="th_range">Range</th> 6579 <th class="th_notes">Notes</th> 6580 <th class="th_tags">Tags</th> 6581 </tr> 6582 </thead> 6583 6584 <tbody> 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 <tr class="entry" id="dynamic_android.quirks.partialResult"> 6596 <td class="entry_name">android.<wbr>quirks.<wbr>partial<wbr>Result</td> 6597 <td class="entry_type"> 6598 <span class="entry_type_name entry_type_name_enum">byte</span> 6599 6600 <span class="entry_type_visibility"> [hidden as boolean]</span> 6601 6602 <ul class="entry_type_enum"> 6603 <li> 6604 <span class="entry_type_enum_name">FINAL</span> 6605 <span class="entry_type_enum_notes">The last or only metadata result buffer 6606 for this capture.<wbr></span> 6607 </li> 6608 <li> 6609 <span class="entry_type_enum_name">PARTIAL</span> 6610 <span class="entry_type_enum_notes">A partial buffer of result metadata for this 6611 capture.<wbr> More result buffers for this capture will be sent 6612 by the HAL,<wbr> the last of which will be marked 6613 FINAL.<wbr></span> 6614 </li> 6615 </ul> 6616 6617 </td> <!-- entry_type --> 6618 6619 <td class="entry_description"> 6620 Whether a result given to the framework is the 6621 final one for the capture,<wbr> or only a partial that contains a 6622 subset of the full set of dynamic metadata 6623 values.<wbr> 6624 </td> 6625 6626 <td class="entry_units"> 6627 </td> 6628 6629 <td class="entry_range"> 6630 Optional.<wbr> Default value is FINAL.<wbr> 6631 </td> 6632 6633 <td class="entry_notes"> 6634 The entries in the result metadata buffers for a 6635 single capture may not overlap,<wbr> except for this entry.<wbr> The 6636 FINAL buffers must retain FIFO ordering relative to the 6637 requests that generate them,<wbr> so the FINAL buffer for frame 3 must 6638 always be sent to the framework after the FINAL buffer for frame 2,<wbr> and 6639 before the FINAL buffer for frame 4.<wbr> PARTIAL buffers may be returned 6640 in any order relative to other frames,<wbr> but all PARTIAL buffers for a given 6641 capture must arrive before the FINAL buffer for that capture.<wbr> This entry may 6642 only be used by the HAL if quirks.<wbr>usePartialResult is set to 1.<wbr> 6643 6644 </td> 6645 6646 <td class="entry_tags"> 6647 </td> 6648 6649 </tr> <!-- end of entry --> 6650 6651 6652 6653 <!-- end of kind --> 6654 </tbody> 6655 6656 <!-- end of section --> 6657 <tr><td colspan="7" id="section_request" class="section">request</td></tr> 6658 6659 6660 <tr><td colspan="7" class="kind">controls</td></tr> 6661 6662 <thead class="entries_header"> 6663 <tr> 6664 <th class="th_name">Property Name</th> 6665 <th class="th_type">Type</th> 6666 <th class="th_description">Description</th> 6667 <th class="th_units">Units</th> 6668 <th class="th_range">Range</th> 6669 <th class="th_notes">Notes</th> 6670 <th class="th_tags">Tags</th> 6671 </tr> 6672 </thead> 6673 6674 <tbody> 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 <tr class="entry" id="controls_android.request.frameCount"> 6686 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td> 6687 <td class="entry_type"> 6688 <span class="entry_type_name">int32</span> 6689 6690 <span class="entry_type_visibility"> [system]</span> 6691 6692 6693 </td> <!-- entry_type --> 6694 6695 <td class="entry_description"> 6696 A frame counter set by the framework.<wbr> Must 6697 be maintained unchanged in output frame.<wbr> This value monotonically 6698 increases with every new result (that is,<wbr> each new result has a unique 6699 frameCount value).<wbr> 6700 6701 </td> 6702 6703 <td class="entry_units"> 6704 incrementing integer 6705 </td> 6706 6707 <td class="entry_range"> 6708 Any int 6709 </td> 6710 6711 <td class="entry_notes"> 6712 </td> 6713 6714 <td class="entry_tags"> 6715 </td> 6716 6717 </tr> <!-- end of entry --> 6718 6719 6720 <tr class="entry" id="controls_android.request.id"> 6721 <td class="entry_name">android.<wbr>request.<wbr>id</td> 6722 <td class="entry_type"> 6723 <span class="entry_type_name">int32</span> 6724 6725 <span class="entry_type_visibility"> [hidden]</span> 6726 6727 6728 </td> <!-- entry_type --> 6729 6730 <td class="entry_description"> 6731 An application-specified ID for the current 6732 request.<wbr> Must be maintained unchanged in output 6733 frame 6734 </td> 6735 6736 <td class="entry_units"> 6737 arbitrary integer assigned by application 6738 </td> 6739 6740 <td class="entry_range"> 6741 Any int 6742 </td> 6743 6744 <td class="entry_notes"> 6745 </td> 6746 6747 <td class="entry_tags"> 6748 <ul class="entry_tags"> 6749 <li><a href="#tag_V1">V1</a></li> 6750 </ul> 6751 </td> 6752 6753 </tr> <!-- end of entry --> 6754 6755 6756 <tr class="entry" id="controls_android.request.inputStreams"> 6757 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td> 6758 <td class="entry_type"> 6759 <span class="entry_type_name">int32</span> 6760 <span class="entry_type_container">x</span> 6761 6762 <span class="entry_type_array"> 6763 n 6764 </span> 6765 <span class="entry_type_visibility"> [system]</span> 6766 6767 6768 </td> <!-- entry_type --> 6769 6770 <td class="entry_description"> 6771 List which camera reprocess stream is used 6772 for the source of reprocessing data.<wbr> 6773 </td> 6774 6775 <td class="entry_units"> 6776 List of camera reprocess stream IDs 6777 </td> 6778 6779 <td class="entry_range"> 6780 Typically,<wbr> only one entry allowed,<wbr> must be a valid 6781 reprocess stream ID.<wbr> 6782 6783 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple 6784 reprocess streams may be included in a single request; they 6785 must be different scaled versions of the same image.<wbr> 6786 </td> 6787 6788 <td class="entry_notes"> 6789 Only meaningful when android.<wbr>request.<wbr>type == 6790 REPROCESS.<wbr> Ignored otherwise 6791 </td> 6792 6793 <td class="entry_tags"> 6794 <ul class="entry_tags"> 6795 <li><a href="#tag_HAL2">HAL2</a></li> 6796 </ul> 6797 </td> 6798 6799 </tr> <!-- end of entry --> 6800 6801 6802 <tr class="entry" id="controls_android.request.metadataMode"> 6803 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td> 6804 <td class="entry_type"> 6805 <span class="entry_type_name entry_type_name_enum">byte</span> 6806 6807 <span class="entry_type_visibility"> [system]</span> 6808 6809 <ul class="entry_type_enum"> 6810 <li> 6811 <span class="entry_type_enum_name">NONE</span> 6812 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except 6813 for application-bound buffer data.<wbr> If no 6814 application-bound streams exist,<wbr> no frame should be 6815 placed in the output frame queue.<wbr> If such streams 6816 exist,<wbr> a frame should be placed on the output queue 6817 with null metadata but with the necessary output buffer 6818 information.<wbr> Timestamp information should still be 6819 included with any output stream buffers</span> 6820 </li> 6821 <li> 6822 <span class="entry_type_enum_name">FULL</span> 6823 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will 6824 only be produced if they are separately 6825 enabled</span> 6826 </li> 6827 </ul> 6828 6829 </td> <!-- entry_type --> 6830 6831 <td class="entry_description"> 6832 How much metadata to produce on 6833 output 6834 </td> 6835 6836 <td class="entry_units"> 6837 </td> 6838 6839 <td class="entry_range"> 6840 </td> 6841 6842 <td class="entry_notes"> 6843 </td> 6844 6845 <td class="entry_tags"> 6846 </td> 6847 6848 </tr> <!-- end of entry --> 6849 6850 6851 <tr class="entry" id="controls_android.request.outputStreams"> 6852 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</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 6859 </span> 6860 <span class="entry_type_visibility"> [system]</span> 6861 6862 6863 </td> <!-- entry_type --> 6864 6865 <td class="entry_description"> 6866 Lists which camera output streams image data 6867 from this capture must be sent to 6868 </td> 6869 6870 <td class="entry_units"> 6871 List of camera stream IDs 6872 </td> 6873 6874 <td class="entry_range"> 6875 List must only include streams that have been 6876 created 6877 </td> 6878 6879 <td class="entry_notes"> 6880 If no output streams are listed,<wbr> then the image 6881 data should simply be discarded.<wbr> The image data must 6882 still be captured for metadata and statistics production,<wbr> 6883 and the lens and flash must operate as requested.<wbr> 6884 </td> 6885 6886 <td class="entry_tags"> 6887 <ul class="entry_tags"> 6888 <li><a href="#tag_HAL2">HAL2</a></li> 6889 </ul> 6890 </td> 6891 6892 </tr> <!-- end of entry --> 6893 6894 6895 <tr class="entry" id="controls_android.request.type"> 6896 <td class="entry_name">android.<wbr>request.<wbr>type</td> 6897 <td class="entry_type"> 6898 <span class="entry_type_name entry_type_name_enum">byte</span> 6899 6900 <span class="entry_type_visibility"> [system]</span> 6901 6902 <ul class="entry_type_enum"> 6903 <li> 6904 <span class="entry_type_enum_name">CAPTURE</span> 6905 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr> 6906 and process it according to the 6907 settings</span> 6908 </li> 6909 <li> 6910 <span class="entry_type_enum_name">REPROCESS</span> 6911 <span class="entry_type_enum_notes">Process previously captured data; the 6912 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the 6913 source reprocessing stream.<wbr> TODO: Mark dynamic metadata 6914 needed for reprocessing with [RP]</span> 6915 </li> 6916 </ul> 6917 6918 </td> <!-- entry_type --> 6919 6920 <td class="entry_description"> 6921 The type of the request; either CAPTURE or 6922 REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr> 6923 </td> 6924 6925 <td class="entry_units"> 6926 </td> 6927 6928 <td class="entry_range"> 6929 </td> 6930 6931 <td class="entry_notes"> 6932 </td> 6933 6934 <td class="entry_tags"> 6935 <ul class="entry_tags"> 6936 <li><a href="#tag_HAL2">HAL2</a></li> 6937 </ul> 6938 </td> 6939 6940 </tr> <!-- end of entry --> 6941 6942 6943 6944 <!-- end of kind --> 6945 </tbody> 6946 <tr><td colspan="7" class="kind">static</td></tr> 6947 6948 <thead class="entries_header"> 6949 <tr> 6950 <th class="th_name">Property Name</th> 6951 <th class="th_type">Type</th> 6952 <th class="th_description">Description</th> 6953 <th class="th_units">Units</th> 6954 <th class="th_range">Range</th> 6955 <th class="th_notes">Notes</th> 6956 <th class="th_tags">Tags</th> 6957 </tr> 6958 </thead> 6959 6960 <tbody> 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 <tr class="entry" id="static_android.request.maxNumOutputStreams"> 6972 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td> 6973 <td class="entry_type"> 6974 <span class="entry_type_name">int32</span> 6975 <span class="entry_type_container">x</span> 6976 6977 <span class="entry_type_array"> 6978 3 6979 </span> 6980 <span class="entry_type_visibility"> [public]</span> 6981 6982 6983 </td> <!-- entry_type --> 6984 6985 <td class="entry_description"> 6986 How many output streams can be allocated at 6987 the same time for each type of stream 6988 </td> 6989 6990 <td class="entry_units"> 6991 The number of raw sensor streams; the number of 6992 processed,<wbr> uncompressed streams; and the number of 6993 JPEG-compressed streams 6994 </td> 6995 6996 <td class="entry_range"> 6997 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3 6998 for processed,<wbr> uncompressed streams 6999 </td> 7000 7001 <td class="entry_notes"> 7002 Video snapshot with preview callbacks requires 3 7003 processed streams (preview,<wbr> record,<wbr> app callbacks) and 7004 one JPEG stream (snapshot) 7005 </td> 7006 7007 <td class="entry_tags"> 7008 <ul class="entry_tags"> 7009 <li><a href="#tag_BC">BC</a></li> 7010 </ul> 7011 </td> 7012 7013 </tr> <!-- end of entry --> 7014 7015 7016 <tr class="entry" id="static_android.request.maxNumReprocessStreams"> 7017 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td> 7018 <td class="entry_type"> 7019 <span class="entry_type_name">int32</span> 7020 <span class="entry_type_container">x</span> 7021 7022 <span class="entry_type_array"> 7023 1 7024 </span> 7025 <span class="entry_type_visibility"> [system]</span> 7026 7027 7028 </td> <!-- entry_type --> 7029 7030 <td class="entry_description"> 7031 How many reprocessing streams of any type 7032 can be allocated at the same time 7033 </td> 7034 7035 <td class="entry_units"> 7036 </td> 7037 7038 <td class="entry_range"> 7039 >= 1 7040 </td> 7041 7042 <td class="entry_notes"> 7043 </td> 7044 7045 <td class="entry_tags"> 7046 </td> 7047 7048 </tr> <!-- end of entry --> 7049 7050 7051 7052 <!-- end of kind --> 7053 </tbody> 7054 <tr><td colspan="7" class="kind">dynamic</td></tr> 7055 7056 <thead class="entries_header"> 7057 <tr> 7058 <th class="th_name">Property Name</th> 7059 <th class="th_type">Type</th> 7060 <th class="th_description">Description</th> 7061 <th class="th_units">Units</th> 7062 <th class="th_range">Range</th> 7063 <th class="th_notes">Notes</th> 7064 <th class="th_tags">Tags</th> 7065 </tr> 7066 </thead> 7067 7068 <tbody> 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 <tr class="entry" id="dynamic_android.request.frameCount"> 7080 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td> 7081 <td class="entry_type"> 7082 <span class="entry_type_name">int32</span> 7083 7084 <span class="entry_type_visibility"> [public]</span> 7085 7086 7087 </td> <!-- entry_type --> 7088 7089 <td class="entry_description"> 7090 A frame counter set by the framework.<wbr> This value monotonically 7091 increases with every new result (that is,<wbr> each new result has a unique 7092 frameCount value).<wbr> 7093 </td> 7094 7095 <td class="entry_units"> 7096 count of frames 7097 </td> 7098 7099 <td class="entry_range"> 7100 > 0 7101 </td> 7102 7103 <td class="entry_notes"> 7104 Reset on release() 7105 </td> 7106 7107 <td class="entry_tags"> 7108 </td> 7109 7110 </tr> <!-- end of entry --> 7111 7112 7113 <tr class="entry" id="dynamic_android.request.id"> 7114 <td class="entry_name">android.<wbr>request.<wbr>id</td> 7115 <td class="entry_type"> 7116 <span class="entry_type_name">int32</span> 7117 7118 <span class="entry_type_visibility"> [hidden]</span> 7119 7120 7121 </td> <!-- entry_type --> 7122 7123 <td class="entry_description"> 7124 An application-specified ID for the current 7125 request.<wbr> Must be maintained unchanged in output 7126 frame 7127 </td> 7128 7129 <td class="entry_units"> 7130 arbitrary integer assigned by application 7131 </td> 7132 7133 <td class="entry_range"> 7134 Any int 7135 </td> 7136 7137 <td class="entry_notes"> 7138 </td> 7139 7140 <td class="entry_tags"> 7141 <ul class="entry_tags"> 7142 <li><a href="#tag_V1">V1</a></li> 7143 </ul> 7144 </td> 7145 7146 </tr> <!-- end of entry --> 7147 7148 7149 <tr class="entry" id="dynamic_android.request.metadataMode"> 7150 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td> 7151 <td class="entry_type"> 7152 <span class="entry_type_name entry_type_name_enum">byte</span> 7153 7154 <span class="entry_type_visibility"> [system]</span> 7155 7156 <ul class="entry_type_enum"> 7157 <li> 7158 <span class="entry_type_enum_name">NONE</span> 7159 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except 7160 for application-bound buffer data.<wbr> If no 7161 application-bound streams exist,<wbr> no frame should be 7162 placed in the output frame queue.<wbr> If such streams 7163 exist,<wbr> a frame should be placed on the output queue 7164 with null metadata but with the necessary output buffer 7165 information.<wbr> Timestamp information should still be 7166 included with any output stream buffers</span> 7167 </li> 7168 <li> 7169 <span class="entry_type_enum_name">FULL</span> 7170 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will 7171 only be produced if they are separately 7172 enabled</span> 7173 </li> 7174 </ul> 7175 7176 </td> <!-- entry_type --> 7177 7178 <td class="entry_description"> 7179 How much metadata to produce on 7180 output 7181 </td> 7182 7183 <td class="entry_units"> 7184 </td> 7185 7186 <td class="entry_range"> 7187 </td> 7188 7189 <td class="entry_notes"> 7190 </td> 7191 7192 <td class="entry_tags"> 7193 </td> 7194 7195 </tr> <!-- end of entry --> 7196 7197 7198 <tr class="entry" id="dynamic_android.request.outputStreams"> 7199 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td> 7200 <td class="entry_type"> 7201 <span class="entry_type_name">int32</span> 7202 <span class="entry_type_container">x</span> 7203 7204 <span class="entry_type_array"> 7205 n 7206 </span> 7207 <span class="entry_type_visibility"> [system]</span> 7208 7209 7210 </td> <!-- entry_type --> 7211 7212 <td class="entry_description"> 7213 Lists which camera output streams image data 7214 from this capture must be sent to 7215 </td> 7216 7217 <td class="entry_units"> 7218 List of camera stream IDs 7219 </td> 7220 7221 <td class="entry_range"> 7222 List must only include streams that have been 7223 created 7224 </td> 7225 7226 <td class="entry_notes"> 7227 If no output streams are listed,<wbr> then the image 7228 data should simply be discarded.<wbr> The image data must 7229 still be captured for metadata and statistics production,<wbr> 7230 and the lens and flash must operate as requested.<wbr> 7231 </td> 7232 7233 <td class="entry_tags"> 7234 <ul class="entry_tags"> 7235 <li><a href="#tag_HAL2">HAL2</a></li> 7236 </ul> 7237 </td> 7238 7239 </tr> <!-- end of entry --> 7240 7241 7242 7243 <!-- end of kind --> 7244 </tbody> 7245 7246 <!-- end of section --> 7247 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr> 7248 7249 7250 <tr><td colspan="7" class="kind">controls</td></tr> 7251 7252 <thead class="entries_header"> 7253 <tr> 7254 <th class="th_name">Property Name</th> 7255 <th class="th_type">Type</th> 7256 <th class="th_description">Description</th> 7257 <th class="th_units">Units</th> 7258 <th class="th_range">Range</th> 7259 <th class="th_notes">Notes</th> 7260 <th class="th_tags">Tags</th> 7261 </tr> 7262 </thead> 7263 7264 <tbody> 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 <tr class="entry" id="controls_android.scaler.cropRegion"> 7276 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td> 7277 <td class="entry_type"> 7278 <span class="entry_type_name">int32</span> 7279 <span class="entry_type_container">x</span> 7280 7281 <span class="entry_type_array"> 7282 4 7283 </span> 7284 <span class="entry_type_visibility"> [public as rectangle]</span> 7285 7286 7287 </td> <!-- entry_type --> 7288 7289 <td class="entry_description"> 7290 (x,<wbr> y,<wbr> width,<wbr> height).<wbr> 7291 <br> 7292 <br> A rectangle with the top-level corner of (x,<wbr>y) and size 7293 (width,<wbr> height).<wbr> The region of the sensor that is used for 7294 output.<wbr> Each stream must use this rectangle to produce its 7295 output,<wbr> cropping to a smaller region if necessary to 7296 maintain the stream's aspect ratio.<wbr> 7297 <br> 7298 <br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width) 7299 </td> 7300 7301 <td class="entry_units"> 7302 (x,<wbr>y) of top-left corner,<wbr> width and height of region 7303 in pixels; (0,<wbr>0) is top-left corner of 7304 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size 7305 </td> 7306 7307 <td class="entry_range"> 7308 </td> 7309 7310 <td class="entry_notes"> 7311 7312 Any additional per-stream cropping must be done to 7313 maximize the final pixel area of the stream.<wbr> 7314 <br> 7315 <br> For example,<wbr> if the crop region is set to a 4:3 aspect 7316 ratio,<wbr> then 4:3 streams should use the exact crop 7317 region.<wbr> 16:9 streams should further crop vertically 7318 (letterbox).<wbr> 7319 <br> 7320 <br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3 7321 outputs should crop horizontally (pillarbox),<wbr> and 16:9 7322 streams should match exactly.<wbr> These additional crops must 7323 be centered within the crop region.<wbr> 7324 <br> 7325 <br> The output streams must maintain square pixels at all 7326 times,<wbr> no matter what the relative aspect ratios of the 7327 crop region and the stream are.<wbr> Negative values for 7328 corner are allowed for raw output if full pixel array is 7329 larger than active pixel array.<wbr> Width and height may be 7330 rounded to nearest larger supportable width,<wbr> especially 7331 for raw output,<wbr> where only a few fixed scales may be 7332 possible.<wbr> The width and height of the crop region cannot 7333 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr> 7334 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor( 7335 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr> 7336 respectively.<wbr> 7337 7338 </td> 7339 7340 <td class="entry_tags"> 7341 <ul class="entry_tags"> 7342 <li><a href="#tag_BC">BC</a></li> 7343 </ul> 7344 </td> 7345 7346 </tr> <!-- end of entry --> 7347 7348 7349 7350 <!-- end of kind --> 7351 </tbody> 7352 <tr><td colspan="7" class="kind">static</td></tr> 7353 7354 <thead class="entries_header"> 7355 <tr> 7356 <th class="th_name">Property Name</th> 7357 <th class="th_type">Type</th> 7358 <th class="th_description">Description</th> 7359 <th class="th_units">Units</th> 7360 <th class="th_range">Range</th> 7361 <th class="th_notes">Notes</th> 7362 <th class="th_tags">Tags</th> 7363 </tr> 7364 </thead> 7365 7366 <tbody> 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 <tr class="entry" id="static_android.scaler.availableFormats"> 7378 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td> 7379 <td class="entry_type"> 7380 <span class="entry_type_name entry_type_name_enum">int32</span> 7381 <span class="entry_type_container">x</span> 7382 7383 <span class="entry_type_array"> 7384 n 7385 </span> 7386 <span class="entry_type_visibility"> [public as imageFormat]</span> 7387 <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> 7388 7389 <ul class="entry_type_enum"> 7390 <li> 7391 <span class="entry_type_enum_name">RAW_SENSOR</span> 7392 <span class="entry_type_enum_value">0x20</span> 7393 </li> 7394 <li> 7395 <span class="entry_type_enum_name">YV12</span> 7396 <span class="entry_type_enum_value">0x32315659</span> 7397 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span> 7398 </li> 7399 <li> 7400 <span class="entry_type_enum_name">YCrCb_420_SP</span> 7401 <span class="entry_type_enum_value">0x11</span> 7402 <span class="entry_type_enum_notes">NV21</span> 7403 </li> 7404 <li> 7405 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span> 7406 <span class="entry_type_enum_value">0x22</span> 7407 <span class="entry_type_enum_notes">Hal Implementation Defined</span> 7408 </li> 7409 <li> 7410 <span class="entry_type_enum_name">YCbCr_420_888</span> 7411 <span class="entry_type_enum_value">0x23</span> 7412 <span class="entry_type_enum_notes">Flexible YUV420 Format</span> 7413 </li> 7414 <li> 7415 <span class="entry_type_enum_name">BLOB</span> 7416 <span class="entry_type_enum_value">0x21</span> 7417 <span class="entry_type_enum_notes">JPEG</span> 7418 </li> 7419 </ul> 7420 7421 </td> <!-- entry_type --> 7422 7423 <td class="entry_description"> 7424 List of app-visible formats 7425 </td> 7426 7427 <td class="entry_units"> 7428 </td> 7429 7430 <td class="entry_range"> 7431 </td> 7432 7433 <td class="entry_notes"> 7434 </td> 7435 7436 <td class="entry_tags"> 7437 <ul class="entry_tags"> 7438 <li><a href="#tag_BC">BC</a></li> 7439 </ul> 7440 </td> 7441 7442 </tr> <!-- end of entry --> 7443 7444 7445 <tr class="entry" id="static_android.scaler.availableJpegMinDurations"> 7446 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td> 7447 <td class="entry_type"> 7448 <span class="entry_type_name">int64</span> 7449 <span class="entry_type_container">x</span> 7450 7451 <span class="entry_type_array"> 7452 n 7453 </span> 7454 <span class="entry_type_visibility"> [public]</span> 7455 7456 7457 </td> <!-- entry_type --> 7458 7459 <td class="entry_description"> 7460 The minimum frame duration that is supported 7461 for each resolution in availableJpegSizes.<wbr> Should 7462 correspond to the frame duration when only that JPEG 7463 stream is active and captured in a burst,<wbr> with all 7464 processing set to FAST 7465 </td> 7466 7467 <td class="entry_units"> 7468 </td> 7469 7470 <td class="entry_range"> 7471 </td> 7472 7473 <td class="entry_notes"> 7474 When multiple streams are configured,<wbr> the minimum 7475 frame duration will be >= max(individual stream min 7476 durations) 7477 </td> 7478 7479 <td class="entry_tags"> 7480 <ul class="entry_tags"> 7481 <li><a href="#tag_BC">BC</a></li> 7482 </ul> 7483 </td> 7484 7485 </tr> <!-- end of entry --> 7486 7487 7488 <tr class="entry" id="static_android.scaler.availableJpegSizes"> 7489 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td> 7490 <td class="entry_type"> 7491 <span class="entry_type_name">int32</span> 7492 <span class="entry_type_container">x</span> 7493 7494 <span class="entry_type_array"> 7495 n x 2 7496 </span> 7497 <span class="entry_type_visibility"> [public as size]</span> 7498 7499 7500 </td> <!-- entry_type --> 7501 7502 <td class="entry_description"> 7503 The resolutions available for output from 7504 the JPEG block.<wbr> Listed as width x height 7505 </td> 7506 7507 <td class="entry_units"> 7508 </td> 7509 7510 <td class="entry_range"> 7511 Must include: - sensor maximum resolution Should 7512 include: - half/<wbr>quarter max resolution 7513 </td> 7514 7515 <td class="entry_notes"> 7516 </td> 7517 7518 <td class="entry_tags"> 7519 <ul class="entry_tags"> 7520 <li><a href="#tag_BC">BC</a></li> 7521 </ul> 7522 </td> 7523 7524 </tr> <!-- end of entry --> 7525 7526 7527 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom"> 7528 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td> 7529 <td class="entry_type"> 7530 <span class="entry_type_name">float</span> 7531 7532 <span class="entry_type_visibility"> [public]</span> 7533 7534 7535 </td> <!-- entry_type --> 7536 7537 <td class="entry_description"> 7538 The maximum ratio between active area width 7539 and crop region width,<wbr> or between active area height and 7540 crop region height,<wbr> if the crop region height is larger 7541 than width 7542 </td> 7543 7544 <td class="entry_units"> 7545 </td> 7546 7547 <td class="entry_range"> 7548 >=1 7549 </td> 7550 7551 <td class="entry_notes"> 7552 </td> 7553 7554 <td class="entry_tags"> 7555 <ul class="entry_tags"> 7556 <li><a href="#tag_BC">BC</a></li> 7557 </ul> 7558 </td> 7559 7560 </tr> <!-- end of entry --> 7561 7562 7563 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations"> 7564 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td> 7565 <td class="entry_type"> 7566 <span class="entry_type_name">int64</span> 7567 <span class="entry_type_container">x</span> 7568 7569 <span class="entry_type_array"> 7570 n 7571 </span> 7572 <span class="entry_type_visibility"> [public]</span> 7573 7574 7575 </td> <!-- entry_type --> 7576 7577 <td class="entry_description"> 7578 The minimum frame duration that is supported 7579 for each resolution in availableProcessedSizes.<wbr> Should 7580 correspond to the frame duration when only that processed 7581 stream is active,<wbr> with all processing set to 7582 FAST 7583 </td> 7584 7585 <td class="entry_units"> 7586 </td> 7587 7588 <td class="entry_range"> 7589 </td> 7590 7591 <td class="entry_notes"> 7592 When multiple streams are configured,<wbr> the minimum 7593 frame duration will be >= max(individual stream min 7594 durations) 7595 </td> 7596 7597 <td class="entry_tags"> 7598 <ul class="entry_tags"> 7599 <li><a href="#tag_BC">BC</a></li> 7600 </ul> 7601 </td> 7602 7603 </tr> <!-- end of entry --> 7604 7605 7606 <tr class="entry" id="static_android.scaler.availableProcessedSizes"> 7607 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td> 7608 <td class="entry_type"> 7609 <span class="entry_type_name">int32</span> 7610 <span class="entry_type_container">x</span> 7611 7612 <span class="entry_type_array"> 7613 n x 2 7614 </span> 7615 <span class="entry_type_visibility"> [public as size]</span> 7616 7617 7618 </td> <!-- entry_type --> 7619 7620 <td class="entry_description"> 7621 The resolutions available for use with 7622 processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and 7623 platform opaque YUV/<wbr>RGB streams to the GPU or video 7624 encoders.<wbr> Listed as width,<wbr> height 7625 </td> 7626 7627 <td class="entry_units"> 7628 </td> 7629 7630 <td class="entry_range"> 7631 Must include: - sensor maximum resolution - 7632 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p 7633 resolutions 7634 </td> 7635 7636 <td class="entry_notes"> 7637 The actual supported resolution list may be limited by 7638 consumer end points for different use cases.<wbr> For example,<wbr> for 7639 recording use case,<wbr> the largest supported resolution may be 7640 limited by max supported size from encoder,<wbr> for preview use 7641 case,<wbr> the largest supported resolution may be limited by max 7642 resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr> 7643 7644 </td> 7645 7646 <td class="entry_tags"> 7647 <ul class="entry_tags"> 7648 <li><a href="#tag_BC">BC</a></li> 7649 </ul> 7650 </td> 7651 7652 </tr> <!-- end of entry --> 7653 7654 7655 <tr class="entry" id="static_android.scaler.availableRawMinDurations"> 7656 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td> 7657 <td class="entry_type"> 7658 <span class="entry_type_name">int64</span> 7659 <span class="entry_type_container">x</span> 7660 7661 <span class="entry_type_array"> 7662 n 7663 </span> 7664 <span class="entry_type_visibility"> [system]</span> 7665 7666 7667 </td> <!-- entry_type --> 7668 7669 <td class="entry_description"> 7670 The minimum frame duration that is supported 7671 for each raw resolution in availableRawSizes.<wbr> Should 7672 correspond to the frame duration when only the raw stream 7673 is active.<wbr> 7674 </td> 7675 7676 <td class="entry_units"> 7677 </td> 7678 7679 <td class="entry_range"> 7680 </td> 7681 7682 <td class="entry_notes"> 7683 When multiple streams are configured,<wbr> the minimum 7684 frame duration will be >= max(individual stream min 7685 durations) 7686 </td> 7687 7688 <td class="entry_tags"> 7689 <ul class="entry_tags"> 7690 <li><a href="#tag_BC">BC</a></li> 7691 </ul> 7692 </td> 7693 7694 </tr> <!-- end of entry --> 7695 7696 7697 <tr class="entry" id="static_android.scaler.availableRawSizes"> 7698 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td> 7699 <td class="entry_type"> 7700 <span class="entry_type_name">int32</span> 7701 <span class="entry_type_container">x</span> 7702 7703 <span class="entry_type_array"> 7704 n x 2 7705 </span> 7706 <span class="entry_type_visibility"> [system as size]</span> 7707 7708 7709 </td> <!-- entry_type --> 7710 7711 <td class="entry_description"> 7712 The resolutions available for use with raw 7713 sensor output streams,<wbr> listed as width,<wbr> 7714 height 7715 </td> 7716 7717 <td class="entry_units"> 7718 </td> 7719 7720 <td class="entry_range"> 7721 Must include: - sensor maximum resolution 7722 </td> 7723 7724 <td class="entry_notes"> 7725 </td> 7726 7727 <td class="entry_tags"> 7728 </td> 7729 7730 </tr> <!-- end of entry --> 7731 7732 7733 7734 <!-- end of kind --> 7735 </tbody> 7736 <tr><td colspan="7" class="kind">dynamic</td></tr> 7737 7738 <thead class="entries_header"> 7739 <tr> 7740 <th class="th_name">Property Name</th> 7741 <th class="th_type">Type</th> 7742 <th class="th_description">Description</th> 7743 <th class="th_units">Units</th> 7744 <th class="th_range">Range</th> 7745 <th class="th_notes">Notes</th> 7746 <th class="th_tags">Tags</th> 7747 </tr> 7748 </thead> 7749 7750 <tbody> 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 <tr class="entry" id="dynamic_android.scaler.cropRegion"> 7762 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td> 7763 <td class="entry_type"> 7764 <span class="entry_type_name">int32</span> 7765 <span class="entry_type_container">x</span> 7766 7767 <span class="entry_type_array"> 7768 4 7769 </span> 7770 <span class="entry_type_visibility"> [public as rectangle]</span> 7771 7772 7773 </td> <!-- entry_type --> 7774 7775 <td class="entry_description"> 7776 (x,<wbr> y,<wbr> width,<wbr> height).<wbr> 7777 <br> 7778 <br> A rectangle with the top-level corner of (x,<wbr>y) and size 7779 (width,<wbr> height).<wbr> The region of the sensor that is used for 7780 output.<wbr> Each stream must use this rectangle to produce its 7781 output,<wbr> cropping to a smaller region if necessary to 7782 maintain the stream's aspect ratio.<wbr> 7783 <br> 7784 <br> HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width) 7785 </td> 7786 7787 <td class="entry_units"> 7788 (x,<wbr>y) of top-left corner,<wbr> width and height of region 7789 in pixels; (0,<wbr>0) is top-left corner of 7790 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size 7791 </td> 7792 7793 <td class="entry_range"> 7794 </td> 7795 7796 <td class="entry_notes"> 7797 7798 Any additional per-stream cropping must be done to 7799 maximize the final pixel area of the stream.<wbr> 7800 <br> 7801 <br> For example,<wbr> if the crop region is set to a 4:3 aspect 7802 ratio,<wbr> then 4:3 streams should use the exact crop 7803 region.<wbr> 16:9 streams should further crop vertically 7804 (letterbox).<wbr> 7805 <br> 7806 <br> Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3 7807 outputs should crop horizontally (pillarbox),<wbr> and 16:9 7808 streams should match exactly.<wbr> These additional crops must 7809 be centered within the crop region.<wbr> 7810 <br> 7811 <br> The output streams must maintain square pixels at all 7812 times,<wbr> no matter what the relative aspect ratios of the 7813 crop region and the stream are.<wbr> Negative values for 7814 corner are allowed for raw output if full pixel array is 7815 larger than active pixel array.<wbr> Width and height may be 7816 rounded to nearest larger supportable width,<wbr> especially 7817 for raw output,<wbr> where only a few fixed scales may be 7818 possible.<wbr> The width and height of the crop region cannot 7819 be set to be smaller than floor( activeArraySize.<wbr>width /<wbr> 7820 android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor( 7821 activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr> 7822 respectively.<wbr> 7823 7824 </td> 7825 7826 <td class="entry_tags"> 7827 <ul class="entry_tags"> 7828 <li><a href="#tag_BC">BC</a></li> 7829 </ul> 7830 </td> 7831 7832 </tr> <!-- end of entry --> 7833 7834 7835 7836 <!-- end of kind --> 7837 </tbody> 7838 7839 <!-- end of section --> 7840 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr> 7841 7842 7843 <tr><td colspan="7" class="kind">controls</td></tr> 7844 7845 <thead class="entries_header"> 7846 <tr> 7847 <th class="th_name">Property Name</th> 7848 <th class="th_type">Type</th> 7849 <th class="th_description">Description</th> 7850 <th class="th_units">Units</th> 7851 <th class="th_range">Range</th> 7852 <th class="th_notes">Notes</th> 7853 <th class="th_tags">Tags</th> 7854 </tr> 7855 </thead> 7856 7857 <tbody> 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 <tr class="entry" id="controls_android.sensor.exposureTime"> 7869 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td> 7870 <td class="entry_type"> 7871 <span class="entry_type_name">int64</span> 7872 7873 <span class="entry_type_visibility"> [public]</span> 7874 7875 7876 </td> <!-- entry_type --> 7877 7878 <td class="entry_description"> 7879 Duration each pixel is exposed to 7880 light.<wbr> 7881 <br> 7882 <br> If the sensor can't expose this exact duration,<wbr> it should shorten the 7883 duration exposed to the nearest possible value (rather than expose longer).<wbr> 7884 7885 </td> 7886 7887 <td class="entry_units"> 7888 nanoseconds 7889 </td> 7890 7891 <td class="entry_range"> 7892 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range 7893 </td> 7894 7895 <td class="entry_notes"> 7896 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode 7897 </td> 7898 7899 <td class="entry_tags"> 7900 <ul class="entry_tags"> 7901 <li><a href="#tag_V1">V1</a></li> 7902 </ul> 7903 </td> 7904 7905 </tr> <!-- end of entry --> 7906 7907 7908 <tr class="entry" id="controls_android.sensor.frameDuration"> 7909 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td> 7910 <td class="entry_type"> 7911 <span class="entry_type_name">int64</span> 7912 7913 <span class="entry_type_visibility"> [public]</span> 7914 7915 7916 </td> <!-- entry_type --> 7917 7918 <td class="entry_description"> 7919 Duration from start of frame exposure to 7920 start of next frame exposure 7921 </td> 7922 7923 <td class="entry_units"> 7924 nanoseconds 7925 </td> 7926 7927 <td class="entry_range"> 7928 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr> 7929 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations 7930 </td> 7931 7932 <td class="entry_notes"> 7933 Exposure time has priority,<wbr> so duration is set to 7934 max(duration,<wbr> exposure time + overhead) 7935 </td> 7936 7937 <td class="entry_tags"> 7938 <ul class="entry_tags"> 7939 <li><a href="#tag_V1">V1</a></li> 7940 <li><a href="#tag_BC">BC</a></li> 7941 </ul> 7942 </td> 7943 7944 </tr> <!-- end of entry --> 7945 7946 7947 <tr class="entry" id="controls_android.sensor.sensitivity"> 7948 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td> 7949 <td class="entry_type"> 7950 <span class="entry_type_name">int32</span> 7951 7952 <span class="entry_type_visibility"> [public]</span> 7953 7954 7955 </td> <!-- entry_type --> 7956 7957 <td class="entry_description"> 7958 Gain applied to image data.<wbr> Must be 7959 implemented through analog gain only if set to values 7960 below 'maximum analog sensitivity'.<wbr> 7961 <br> 7962 <br> If the sensor can't apply this exact gain,<wbr> it should lessen the 7963 gain to the nearest possible value (rather than gain more).<wbr> 7964 7965 </td> 7966 7967 <td class="entry_units"> 7968 ISO arithmetic units 7969 </td> 7970 7971 <td class="entry_range"> 7972 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range 7973 </td> 7974 7975 <td class="entry_notes"> 7976 ISO 12232:2006 REI method 7977 </td> 7978 7979 <td class="entry_tags"> 7980 <ul class="entry_tags"> 7981 <li><a href="#tag_V1">V1</a></li> 7982 </ul> 7983 </td> 7984 7985 </tr> <!-- end of entry --> 7986 7987 7988 7989 <!-- end of kind --> 7990 </tbody> 7991 <tr><td colspan="7" class="kind">static</td></tr> 7992 7993 <thead class="entries_header"> 7994 <tr> 7995 <th class="th_name">Property Name</th> 7996 <th class="th_type">Type</th> 7997 <th class="th_description">Description</th> 7998 <th class="th_units">Units</th> 7999 <th class="th_range">Range</th> 8000 <th class="th_notes">Notes</th> 8001 <th class="th_tags">Tags</th> 8002 </tr> 8003 </thead> 8004 8005 <tbody> 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 <tr class="entry" id="static_android.sensor.info.activeArraySize"> 8019 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td> 8020 <td class="entry_type"> 8021 <span class="entry_type_name">int32</span> 8022 <span class="entry_type_container">x</span> 8023 8024 <span class="entry_type_array"> 8025 4 8026 </span> 8027 <span class="entry_type_visibility"> [public as rectangle]</span> 8028 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div> 8029 8030 8031 </td> <!-- entry_type --> 8032 8033 <td class="entry_description"> 8034 Area of raw data which corresponds to only 8035 active pixels; smaller or equal to 8036 pixelArraySize.<wbr> 8037 </td> 8038 8039 <td class="entry_units"> 8040 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full 8041 pixel array is (0,<wbr>0) 8042 </td> 8043 8044 <td class="entry_range"> 8045 </td> 8046 8047 <td class="entry_notes"> 8048 </td> 8049 8050 <td class="entry_tags"> 8051 <ul class="entry_tags"> 8052 <li><a href="#tag_DNG">DNG</a></li> 8053 </ul> 8054 </td> 8055 8056 </tr> <!-- end of entry --> 8057 8058 8059 <tr class="entry" id="static_android.sensor.info.sensitivityRange"> 8060 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td> 8061 <td class="entry_type"> 8062 <span class="entry_type_name">int32</span> 8063 <span class="entry_type_container">x</span> 8064 8065 <span class="entry_type_array"> 8066 2 8067 </span> 8068 <span class="entry_type_visibility"> [public]</span> 8069 <div class="entry_type_notes">Range of supported sensitivities</div> 8070 8071 8072 </td> <!-- entry_type --> 8073 8074 <td class="entry_description"> 8075 Range of valid sensitivities 8076 </td> 8077 8078 <td class="entry_units"> 8079 </td> 8080 8081 <td class="entry_range"> 8082 Min <= 100,<wbr> Max >= 1600 8083 </td> 8084 8085 <td class="entry_notes"> 8086 </td> 8087 8088 <td class="entry_tags"> 8089 <ul class="entry_tags"> 8090 <li><a href="#tag_BC">BC</a></li> 8091 <li><a href="#tag_V1">V1</a></li> 8092 </ul> 8093 </td> 8094 8095 </tr> <!-- end of entry --> 8096 8097 8098 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement"> 8099 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td> 8100 <td class="entry_type"> 8101 <span class="entry_type_name entry_type_name_enum">byte</span> 8102 8103 <span class="entry_type_visibility"> [system]</span> 8104 8105 <ul class="entry_type_enum"> 8106 <li> 8107 <span class="entry_type_enum_name">RGGB</span> 8108 </li> 8109 <li> 8110 <span class="entry_type_enum_name">GRBG</span> 8111 </li> 8112 <li> 8113 <span class="entry_type_enum_name">GBRG</span> 8114 </li> 8115 <li> 8116 <span class="entry_type_enum_name">BGGR</span> 8117 </li> 8118 <li> 8119 <span class="entry_type_enum_name">RGB</span> 8120 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit 8121 values for each pixel,<wbr> instead of just 1 16-bit value 8122 per pixel.<wbr></span> 8123 </li> 8124 </ul> 8125 8126 </td> <!-- entry_type --> 8127 8128 <td class="entry_description"> 8129 Arrangement of color filters on sensor; 8130 represents the colors in the top-left 2x2 section of 8131 the sensor,<wbr> in reading order 8132 </td> 8133 8134 <td class="entry_units"> 8135 </td> 8136 8137 <td class="entry_range"> 8138 </td> 8139 8140 <td class="entry_notes"> 8141 </td> 8142 8143 <td class="entry_tags"> 8144 <ul class="entry_tags"> 8145 <li><a href="#tag_DNG">DNG</a></li> 8146 </ul> 8147 </td> 8148 8149 </tr> <!-- end of entry --> 8150 8151 8152 <tr class="entry" id="static_android.sensor.info.exposureTimeRange"> 8153 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td> 8154 <td class="entry_type"> 8155 <span class="entry_type_name">int64</span> 8156 <span class="entry_type_container">x</span> 8157 8158 <span class="entry_type_array"> 8159 2 8160 </span> 8161 <span class="entry_type_visibility"> [public]</span> 8162 <div class="entry_type_notes">nanoseconds</div> 8163 8164 8165 </td> <!-- entry_type --> 8166 8167 <td class="entry_description"> 8168 Range of valid exposure 8169 times 8170 </td> 8171 8172 <td class="entry_units"> 8173 </td> 8174 8175 <td class="entry_range"> 8176 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30 8177 sec) 8178 </td> 8179 8180 <td class="entry_notes"> 8181 </td> 8182 8183 <td class="entry_tags"> 8184 <ul class="entry_tags"> 8185 <li><a href="#tag_V1">V1</a></li> 8186 </ul> 8187 </td> 8188 8189 </tr> <!-- end of entry --> 8190 8191 8192 <tr class="entry" id="static_android.sensor.info.maxFrameDuration"> 8193 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td> 8194 <td class="entry_type"> 8195 <span class="entry_type_name">int64</span> 8196 8197 <span class="entry_type_visibility"> [public]</span> 8198 8199 8200 </td> <!-- entry_type --> 8201 8202 <td class="entry_description"> 8203 Maximum possible frame duration (minimum frame 8204 rate) 8205 </td> 8206 8207 <td class="entry_units"> 8208 nanoseconds 8209 </td> 8210 8211 <td class="entry_range"> 8212 >= 30e9 8213 </td> 8214 8215 <td class="entry_notes"> 8216 Minimum duration is a function of resolution,<wbr> 8217 processing settings.<wbr> See 8218 android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations 8219 android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations 8220 android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations 8221 </td> 8222 8223 <td class="entry_tags"> 8224 <ul class="entry_tags"> 8225 <li><a href="#tag_BC">BC</a></li> 8226 <li><a href="#tag_V1">V1</a></li> 8227 </ul> 8228 </td> 8229 8230 </tr> <!-- end of entry --> 8231 8232 8233 <tr class="entry" id="static_android.sensor.info.physicalSize"> 8234 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td> 8235 <td class="entry_type"> 8236 <span class="entry_type_name">float</span> 8237 <span class="entry_type_container">x</span> 8238 8239 <span class="entry_type_array"> 8240 2 8241 </span> 8242 <span class="entry_type_visibility"> [public]</span> 8243 <div class="entry_type_notes">width x height in millimeters</div> 8244 8245 8246 </td> <!-- entry_type --> 8247 8248 <td class="entry_description"> 8249 The physical dimensions of the full pixel 8250 array 8251 </td> 8252 8253 <td class="entry_units"> 8254 </td> 8255 8256 <td class="entry_range"> 8257 </td> 8258 8259 <td class="entry_notes"> 8260 Needed for FOV calculation for old API 8261 </td> 8262 8263 <td class="entry_tags"> 8264 <ul class="entry_tags"> 8265 <li><a href="#tag_V1">V1</a></li> 8266 <li><a href="#tag_BC">BC</a></li> 8267 </ul> 8268 </td> 8269 8270 </tr> <!-- end of entry --> 8271 8272 8273 <tr class="entry" id="static_android.sensor.info.pixelArraySize"> 8274 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td> 8275 <td class="entry_type"> 8276 <span class="entry_type_name">int32</span> 8277 <span class="entry_type_container">x</span> 8278 8279 <span class="entry_type_array"> 8280 2 8281 </span> 8282 <span class="entry_type_visibility"> [system as size]</span> 8283 8284 8285 </td> <!-- entry_type --> 8286 8287 <td class="entry_description"> 8288 Dimensions of full pixel array,<wbr> possibly 8289 including black calibration pixels 8290 </td> 8291 8292 <td class="entry_units"> 8293 </td> 8294 8295 <td class="entry_range"> 8296 </td> 8297 8298 <td class="entry_notes"> 8299 Maximum output resolution for raw format must 8300 match this in 8301 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format 8302 </td> 8303 8304 <td class="entry_tags"> 8305 <ul class="entry_tags"> 8306 <li><a href="#tag_DNG">DNG</a></li> 8307 <li><a href="#tag_BC">BC</a></li> 8308 </ul> 8309 </td> 8310 8311 </tr> <!-- end of entry --> 8312 8313 8314 <tr class="entry" id="static_android.sensor.info.whiteLevel"> 8315 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td> 8316 <td class="entry_type"> 8317 <span class="entry_type_name">int32</span> 8318 8319 <span class="entry_type_visibility"> [system]</span> 8320 8321 8322 </td> <!-- entry_type --> 8323 8324 <td class="entry_description"> 8325 Maximum raw value output by 8326 sensor 8327 </td> 8328 8329 <td class="entry_units"> 8330 </td> 8331 8332 <td class="entry_range"> 8333 > 1024 (10-bit output) 8334 </td> 8335 8336 <td class="entry_notes"> 8337 Defines sensor bit depth (10-14 bits is 8338 expected) 8339 </td> 8340 8341 <td class="entry_tags"> 8342 <ul class="entry_tags"> 8343 <li><a href="#tag_DNG">DNG</a></li> 8344 </ul> 8345 </td> 8346 8347 </tr> <!-- end of entry --> 8348 8349 8350 8351 8352 8353 <tr class="entry" id="static_android.sensor.baseGainFactor"> 8354 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td> 8355 <td class="entry_type"> 8356 <span class="entry_type_name">rational</span> 8357 8358 <span class="entry_type_visibility"> [public]</span> 8359 8360 8361 </td> <!-- entry_type --> 8362 8363 <td class="entry_description"> 8364 Gain factor from electrons to raw units when 8365 ISO=100 8366 </td> 8367 8368 <td class="entry_units"> 8369 </td> 8370 8371 <td class="entry_range"> 8372 </td> 8373 8374 <td class="entry_notes"> 8375 </td> 8376 8377 <td class="entry_tags"> 8378 <ul class="entry_tags"> 8379 <li><a href="#tag_V1">V1</a></li> 8380 <li><a href="#tag_FULL">FULL</a></li> 8381 </ul> 8382 </td> 8383 8384 </tr> <!-- end of entry --> 8385 8386 8387 <tr class="entry" id="static_android.sensor.blackLevelPattern"> 8388 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td> 8389 <td class="entry_type"> 8390 <span class="entry_type_name">int32</span> 8391 <span class="entry_type_container">x</span> 8392 8393 <span class="entry_type_array"> 8394 4 8395 </span> 8396 <span class="entry_type_visibility"> [system]</span> 8397 <div class="entry_type_notes">2x2 raw count block</div> 8398 8399 8400 </td> <!-- entry_type --> 8401 8402 <td class="entry_description"> 8403 A fixed black level offset for each of the 8404 Bayer mosaic channels 8405 </td> 8406 8407 <td class="entry_units"> 8408 </td> 8409 8410 <td class="entry_range"> 8411 >= 0 each 8412 </td> 8413 8414 <td class="entry_notes"> 8415 As per DNG BlackLevelRepeatDim /<wbr> BlackLevel 8416 tags 8417 </td> 8418 8419 <td class="entry_tags"> 8420 <ul class="entry_tags"> 8421 <li><a href="#tag_DNG">DNG</a></li> 8422 </ul> 8423 </td> 8424 8425 </tr> <!-- end of entry --> 8426 8427 8428 <tr class="entry" id="static_android.sensor.calibrationTransform1"> 8429 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td> 8430 <td class="entry_type"> 8431 <span class="entry_type_name">rational</span> 8432 <span class="entry_type_container">x</span> 8433 8434 <span class="entry_type_array"> 8435 9 8436 </span> 8437 <span class="entry_type_visibility"> [system]</span> 8438 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8439 8440 8441 </td> <!-- entry_type --> 8442 8443 <td class="entry_description"> 8444 Per-device calibration on top of color space 8445 transform 1 8446 </td> 8447 8448 <td class="entry_units"> 8449 </td> 8450 8451 <td class="entry_range"> 8452 </td> 8453 8454 <td class="entry_notes"> 8455 </td> 8456 8457 <td class="entry_tags"> 8458 <ul class="entry_tags"> 8459 <li><a href="#tag_DNG">DNG</a></li> 8460 </ul> 8461 </td> 8462 8463 </tr> <!-- end of entry --> 8464 8465 8466 <tr class="entry" id="static_android.sensor.calibrationTransform2"> 8467 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td> 8468 <td class="entry_type"> 8469 <span class="entry_type_name">rational</span> 8470 <span class="entry_type_container">x</span> 8471 8472 <span class="entry_type_array"> 8473 9 8474 </span> 8475 <span class="entry_type_visibility"> [system]</span> 8476 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8477 8478 8479 </td> <!-- entry_type --> 8480 8481 <td class="entry_description"> 8482 Per-device calibration on top of color space 8483 transform 2 8484 </td> 8485 8486 <td class="entry_units"> 8487 </td> 8488 8489 <td class="entry_range"> 8490 </td> 8491 8492 <td class="entry_notes"> 8493 </td> 8494 8495 <td class="entry_tags"> 8496 <ul class="entry_tags"> 8497 <li><a href="#tag_DNG">DNG</a></li> 8498 </ul> 8499 </td> 8500 8501 </tr> <!-- end of entry --> 8502 8503 8504 <tr class="entry" id="static_android.sensor.colorTransform1"> 8505 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td> 8506 <td class="entry_type"> 8507 <span class="entry_type_name">rational</span> 8508 <span class="entry_type_container">x</span> 8509 8510 <span class="entry_type_array"> 8511 9 8512 </span> 8513 <span class="entry_type_visibility"> [system]</span> 8514 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8515 8516 8517 </td> <!-- entry_type --> 8518 8519 <td class="entry_description"> 8520 Linear mapping from XYZ (D50) color space to 8521 reference linear sensor color,<wbr> for first reference 8522 illuminant 8523 </td> 8524 8525 <td class="entry_units"> 8526 </td> 8527 8528 <td class="entry_range"> 8529 </td> 8530 8531 <td class="entry_notes"> 8532 Use as follows XYZ = inv(transform) * clip( (raw - 8533 black level(raw) ) /<wbr> ( white level - max black level) ).<wbr> 8534 At least in the simple case 8535 </td> 8536 8537 <td class="entry_tags"> 8538 <ul class="entry_tags"> 8539 <li><a href="#tag_DNG">DNG</a></li> 8540 </ul> 8541 </td> 8542 8543 </tr> <!-- end of entry --> 8544 8545 8546 <tr class="entry" id="static_android.sensor.colorTransform2"> 8547 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td> 8548 <td class="entry_type"> 8549 <span class="entry_type_name">rational</span> 8550 <span class="entry_type_container">x</span> 8551 8552 <span class="entry_type_array"> 8553 9 8554 </span> 8555 <span class="entry_type_visibility"> [system]</span> 8556 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8557 8558 8559 </td> <!-- entry_type --> 8560 8561 <td class="entry_description"> 8562 Linear mapping from XYZ (D50) color space to 8563 reference linear sensor color,<wbr> for second reference 8564 illuminant 8565 </td> 8566 8567 <td class="entry_units"> 8568 </td> 8569 8570 <td class="entry_range"> 8571 </td> 8572 8573 <td class="entry_notes"> 8574 </td> 8575 8576 <td class="entry_tags"> 8577 <ul class="entry_tags"> 8578 <li><a href="#tag_DNG">DNG</a></li> 8579 </ul> 8580 </td> 8581 8582 </tr> <!-- end of entry --> 8583 8584 8585 <tr class="entry" id="static_android.sensor.forwardMatrix1"> 8586 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td> 8587 <td class="entry_type"> 8588 <span class="entry_type_name">rational</span> 8589 <span class="entry_type_container">x</span> 8590 8591 <span class="entry_type_array"> 8592 9 8593 </span> 8594 <span class="entry_type_visibility"> [system]</span> 8595 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8596 8597 8598 </td> <!-- entry_type --> 8599 8600 <td class="entry_description"> 8601 Used by DNG for better WB 8602 adaptation 8603 </td> 8604 8605 <td class="entry_units"> 8606 </td> 8607 8608 <td class="entry_range"> 8609 </td> 8610 8611 <td class="entry_notes"> 8612 </td> 8613 8614 <td class="entry_tags"> 8615 <ul class="entry_tags"> 8616 <li><a href="#tag_DNG">DNG</a></li> 8617 </ul> 8618 </td> 8619 8620 </tr> <!-- end of entry --> 8621 8622 8623 <tr class="entry" id="static_android.sensor.forwardMatrix2"> 8624 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td> 8625 <td class="entry_type"> 8626 <span class="entry_type_name">rational</span> 8627 <span class="entry_type_container">x</span> 8628 8629 <span class="entry_type_array"> 8630 9 8631 </span> 8632 <span class="entry_type_visibility"> [system]</span> 8633 <div class="entry_type_notes">3x3 matrix in row-major-order</div> 8634 8635 8636 </td> <!-- entry_type --> 8637 8638 <td class="entry_description"> 8639 Used by DNG for better WB 8640 adaptation 8641 </td> 8642 8643 <td class="entry_units"> 8644 </td> 8645 8646 <td class="entry_range"> 8647 </td> 8648 8649 <td class="entry_notes"> 8650 </td> 8651 8652 <td class="entry_tags"> 8653 <ul class="entry_tags"> 8654 <li><a href="#tag_DNG">DNG</a></li> 8655 </ul> 8656 </td> 8657 8658 </tr> <!-- end of entry --> 8659 8660 8661 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity"> 8662 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td> 8663 <td class="entry_type"> 8664 <span class="entry_type_name">int32</span> 8665 8666 <span class="entry_type_visibility"> [public]</span> 8667 8668 8669 </td> <!-- entry_type --> 8670 8671 <td class="entry_description"> 8672 Maximum sensitivity that is implemented 8673 purely through analog gain 8674 </td> 8675 8676 <td class="entry_units"> 8677 </td> 8678 8679 <td class="entry_range"> 8680 </td> 8681 8682 <td class="entry_notes"> 8683 For android.<wbr>sensor.<wbr>sensitivity values less than or 8684 equal to this,<wbr> all applied gain must be analog.<wbr> For 8685 values above this,<wbr> it can be a mix of analog and 8686 digital 8687 </td> 8688 8689 <td class="entry_tags"> 8690 <ul class="entry_tags"> 8691 <li><a href="#tag_V1">V1</a></li> 8692 <li><a href="#tag_FULL">FULL</a></li> 8693 </ul> 8694 </td> 8695 8696 </tr> <!-- end of entry --> 8697 8698 8699 <tr class="entry" id="static_android.sensor.noiseModelCoefficients"> 8700 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td> 8701 <td class="entry_type"> 8702 <span class="entry_type_name">float</span> 8703 <span class="entry_type_container">x</span> 8704 8705 <span class="entry_type_array"> 8706 2 8707 </span> 8708 <span class="entry_type_visibility"> [system]</span> 8709 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div> 8710 8711 8712 </td> <!-- entry_type --> 8713 8714 <td class="entry_description"> 8715 Estimation of sensor noise 8716 characteristics 8717 </td> 8718 8719 <td class="entry_units"> 8720 var(raw pixel value) = electrons * (baseGainFactor 8721 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 + 8722 B 8723 </td> 8724 8725 <td class="entry_range"> 8726 </td> 8727 8728 <td class="entry_notes"> 8729 A represents sensor read noise before analog 8730 amplification; B represents noise from A/<wbr>D conversion and 8731 other circuits after amplification.<wbr> Both noise sources 8732 are assumed to be gaussian,<wbr> independent,<wbr> and not to vary 8733 across the sensor 8734 </td> 8735 8736 <td class="entry_tags"> 8737 <ul class="entry_tags"> 8738 <li><a href="#tag_V1">V1</a></li> 8739 </ul> 8740 </td> 8741 8742 </tr> <!-- end of entry --> 8743 8744 8745 <tr class="entry" id="static_android.sensor.orientation"> 8746 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td> 8747 <td class="entry_type"> 8748 <span class="entry_type_name">int32</span> 8749 8750 <span class="entry_type_visibility"> [public]</span> 8751 8752 8753 </td> <!-- entry_type --> 8754 8755 <td class="entry_description"> 8756 Clockwise angle through which the output 8757 image needs to be rotated to be upright on the device 8758 screen in its native orientation.<wbr> Also defines the 8759 direction of rolling shutter readout,<wbr> which is from top 8760 to bottom in the sensor's coordinate system 8761 </td> 8762 8763 <td class="entry_units"> 8764 degrees clockwise rotation,<wbr> only multiples of 8765 90 8766 </td> 8767 8768 <td class="entry_range"> 8769 0,<wbr>90,<wbr>180,<wbr>270 8770 </td> 8771 8772 <td class="entry_notes"> 8773 </td> 8774 8775 <td class="entry_tags"> 8776 <ul class="entry_tags"> 8777 <li><a href="#tag_BC">BC</a></li> 8778 </ul> 8779 </td> 8780 8781 </tr> <!-- end of entry --> 8782 8783 8784 <tr class="entry" id="static_android.sensor.referenceIlluminant1"> 8785 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td> 8786 <td class="entry_type"> 8787 <span class="entry_type_name entry_type_name_enum">byte</span> 8788 8789 <span class="entry_type_visibility"> [system]</span> 8790 8791 <ul class="entry_type_enum"> 8792 <li> 8793 <span class="entry_type_enum_name">DAYLIGHT</span> 8794 <span class="entry_type_enum_value">1</span> 8795 </li> 8796 <li> 8797 <span class="entry_type_enum_name">FLUORESCENT</span> 8798 <span class="entry_type_enum_value">2</span> 8799 </li> 8800 <li> 8801 <span class="entry_type_enum_name">TUNGSTEN</span> 8802 <span class="entry_type_enum_value">3</span> 8803 <span class="entry_type_enum_notes">Incandescent light</span> 8804 </li> 8805 <li> 8806 <span class="entry_type_enum_name">FLASH</span> 8807 <span class="entry_type_enum_value">4</span> 8808 </li> 8809 <li> 8810 <span class="entry_type_enum_name">FINE_WEATHER</span> 8811 <span class="entry_type_enum_value">9</span> 8812 </li> 8813 <li> 8814 <span class="entry_type_enum_name">CLOUDY_WEATHER</span> 8815 <span class="entry_type_enum_value">10</span> 8816 </li> 8817 <li> 8818 <span class="entry_type_enum_name">SHADE</span> 8819 <span class="entry_type_enum_value">11</span> 8820 </li> 8821 <li> 8822 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span> 8823 <span class="entry_type_enum_value">12</span> 8824 <span class="entry_type_enum_notes">D 5700 - 7100K</span> 8825 </li> 8826 <li> 8827 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span> 8828 <span class="entry_type_enum_value">13</span> 8829 <span class="entry_type_enum_notes">N 4600 - 5400K</span> 8830 </li> 8831 <li> 8832 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span> 8833 <span class="entry_type_enum_value">14</span> 8834 <span class="entry_type_enum_notes">W 3900 - 4500K</span> 8835 </li> 8836 <li> 8837 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span> 8838 <span class="entry_type_enum_value">15</span> 8839 <span class="entry_type_enum_notes">WW 3200 - 3700K</span> 8840 </li> 8841 <li> 8842 <span class="entry_type_enum_name">STANDARD_A</span> 8843 <span class="entry_type_enum_value">17</span> 8844 </li> 8845 <li> 8846 <span class="entry_type_enum_name">STANDARD_B</span> 8847 <span class="entry_type_enum_value">18</span> 8848 </li> 8849 <li> 8850 <span class="entry_type_enum_name">STANDARD_C</span> 8851 <span class="entry_type_enum_value">19</span> 8852 </li> 8853 <li> 8854 <span class="entry_type_enum_name">D55</span> 8855 <span class="entry_type_enum_value">20</span> 8856 </li> 8857 <li> 8858 <span class="entry_type_enum_name">D65</span> 8859 <span class="entry_type_enum_value">21</span> 8860 </li> 8861 <li> 8862 <span class="entry_type_enum_name">D75</span> 8863 <span class="entry_type_enum_value">22</span> 8864 </li> 8865 <li> 8866 <span class="entry_type_enum_name">D50</span> 8867 <span class="entry_type_enum_value">23</span> 8868 </li> 8869 <li> 8870 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span> 8871 <span class="entry_type_enum_value">24</span> 8872 </li> 8873 </ul> 8874 8875 </td> <!-- entry_type --> 8876 8877 <td class="entry_description"> 8878 Light source used to define transform 8879 1 8880 </td> 8881 8882 <td class="entry_units"> 8883 </td> 8884 8885 <td class="entry_range"> 8886 </td> 8887 8888 <td class="entry_notes"> 8889 [EXIF LightSource tag] Must all these be 8890 supported? Need CCT for each! 8891 </td> 8892 8893 <td class="entry_tags"> 8894 <ul class="entry_tags"> 8895 <li><a href="#tag_DNG">DNG</a></li> 8896 <li><a href="#tag_EXIF">EXIF</a></li> 8897 </ul> 8898 </td> 8899 8900 </tr> <!-- end of entry --> 8901 8902 8903 <tr class="entry" id="static_android.sensor.referenceIlluminant2"> 8904 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td> 8905 <td class="entry_type"> 8906 <span class="entry_type_name">byte</span> 8907 8908 <span class="entry_type_visibility"> [system]</span> 8909 8910 8911 </td> <!-- entry_type --> 8912 8913 <td class="entry_description"> 8914 Light source used to define transform 8915 2 8916 </td> 8917 8918 <td class="entry_units"> 8919 Same as illuminant 1 8920 </td> 8921 8922 <td class="entry_range"> 8923 </td> 8924 8925 <td class="entry_notes"> 8926 </td> 8927 8928 <td class="entry_tags"> 8929 </td> 8930 8931 </tr> <!-- end of entry --> 8932 8933 8934 8935 <!-- end of kind --> 8936 </tbody> 8937 <tr><td colspan="7" class="kind">dynamic</td></tr> 8938 8939 <thead class="entries_header"> 8940 <tr> 8941 <th class="th_name">Property Name</th> 8942 <th class="th_type">Type</th> 8943 <th class="th_description">Description</th> 8944 <th class="th_units">Units</th> 8945 <th class="th_range">Range</th> 8946 <th class="th_notes">Notes</th> 8947 <th class="th_tags">Tags</th> 8948 </tr> 8949 </thead> 8950 8951 <tbody> 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 <tr class="entry" id="dynamic_android.sensor.exposureTime"> 8963 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td> 8964 <td class="entry_type"> 8965 <span class="entry_type_name">int64</span> 8966 8967 <span class="entry_type_visibility"> [public]</span> 8968 8969 8970 </td> <!-- entry_type --> 8971 8972 <td class="entry_description"> 8973 Duration each pixel is exposed to 8974 light.<wbr> 8975 <br> 8976 <br> If the sensor can't expose this exact duration,<wbr> it should shorten the 8977 duration exposed to the nearest possible value (rather than expose longer).<wbr> 8978 8979 </td> 8980 8981 <td class="entry_units"> 8982 nanoseconds 8983 </td> 8984 8985 <td class="entry_range"> 8986 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range 8987 </td> 8988 8989 <td class="entry_notes"> 8990 1/<wbr>10000 - 30 sec range.<wbr> No bulb mode 8991 </td> 8992 8993 <td class="entry_tags"> 8994 <ul class="entry_tags"> 8995 <li><a href="#tag_V1">V1</a></li> 8996 </ul> 8997 </td> 8998 8999 </tr> <!-- end of entry --> 9000 9001 9002 <tr class="entry" id="dynamic_android.sensor.frameDuration"> 9003 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td> 9004 <td class="entry_type"> 9005 <span class="entry_type_name">int64</span> 9006 9007 <span class="entry_type_visibility"> [public]</span> 9008 9009 9010 </td> <!-- entry_type --> 9011 9012 <td class="entry_description"> 9013 Duration from start of frame exposure to 9014 start of next frame exposure 9015 </td> 9016 9017 <td class="entry_units"> 9018 nanoseconds 9019 </td> 9020 9021 <td class="entry_range"> 9022 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr> 9023 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations 9024 </td> 9025 9026 <td class="entry_notes"> 9027 Exposure time has priority,<wbr> so duration is set to 9028 max(duration,<wbr> exposure time + overhead) 9029 </td> 9030 9031 <td class="entry_tags"> 9032 <ul class="entry_tags"> 9033 <li><a href="#tag_V1">V1</a></li> 9034 <li><a href="#tag_BC">BC</a></li> 9035 </ul> 9036 </td> 9037 9038 </tr> <!-- end of entry --> 9039 9040 9041 <tr class="entry" id="dynamic_android.sensor.sensitivity"> 9042 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td> 9043 <td class="entry_type"> 9044 <span class="entry_type_name">int32</span> 9045 9046 <span class="entry_type_visibility"> [public]</span> 9047 9048 9049 </td> <!-- entry_type --> 9050 9051 <td class="entry_description"> 9052 Gain applied to image data.<wbr> Must be 9053 implemented through analog gain only if set to values 9054 below 'maximum analog sensitivity'.<wbr> 9055 <br> 9056 <br> If the sensor can't apply this exact gain,<wbr> it should lessen the 9057 gain to the nearest possible value (rather than gain more).<wbr> 9058 9059 </td> 9060 9061 <td class="entry_units"> 9062 ISO arithmetic units 9063 </td> 9064 9065 <td class="entry_range"> 9066 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range 9067 </td> 9068 9069 <td class="entry_notes"> 9070 ISO 12232:2006 REI method 9071 </td> 9072 9073 <td class="entry_tags"> 9074 <ul class="entry_tags"> 9075 <li><a href="#tag_V1">V1</a></li> 9076 </ul> 9077 </td> 9078 9079 </tr> <!-- end of entry --> 9080 9081 9082 <tr class="entry" id="dynamic_android.sensor.timestamp"> 9083 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td> 9084 <td class="entry_type"> 9085 <span class="entry_type_name">int64</span> 9086 9087 <span class="entry_type_visibility"> [public]</span> 9088 9089 9090 </td> <!-- entry_type --> 9091 9092 <td class="entry_description"> 9093 Time at start of exposure of first 9094 row 9095 </td> 9096 9097 <td class="entry_units"> 9098 nanoseconds 9099 </td> 9100 9101 <td class="entry_range"> 9102 > 0 9103 </td> 9104 9105 <td class="entry_notes"> 9106 Monotonic,<wbr> should be synced to other timestamps in 9107 system 9108 </td> 9109 9110 <td class="entry_tags"> 9111 <ul class="entry_tags"> 9112 <li><a href="#tag_BC">BC</a></li> 9113 </ul> 9114 </td> 9115 9116 </tr> <!-- end of entry --> 9117 9118 9119 <tr class="entry" id="dynamic_android.sensor.temperature"> 9120 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td> 9121 <td class="entry_type"> 9122 <span class="entry_type_name">float</span> 9123 9124 <span class="entry_type_visibility"> [public]</span> 9125 9126 9127 </td> <!-- entry_type --> 9128 9129 <td class="entry_description"> 9130 The temperature of the sensor,<wbr> sampled at the time 9131 exposure began for this frame.<wbr> 9132 <br> 9133 <br> The thermal diode being queried should be inside the sensor PCB,<wbr> or 9134 somewhere close to it.<wbr> 9135 9136 </td> 9137 9138 <td class="entry_units"> 9139 celsius 9140 </td> 9141 9142 <td class="entry_range"> 9143 Optional.<wbr> This value is missing if no temperature is available.<wbr> 9144 </td> 9145 9146 <td class="entry_notes"> 9147 </td> 9148 9149 <td class="entry_tags"> 9150 <ul class="entry_tags"> 9151 <li><a href="#tag_FULL">FULL</a></li> 9152 </ul> 9153 </td> 9154 9155 </tr> <!-- end of entry --> 9156 9157 9158 9159 <!-- end of kind --> 9160 </tbody> 9161 9162 <!-- end of section --> 9163 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr> 9164 9165 9166 <tr><td colspan="7" class="kind">controls</td></tr> 9167 9168 <thead class="entries_header"> 9169 <tr> 9170 <th class="th_name">Property Name</th> 9171 <th class="th_type">Type</th> 9172 <th class="th_description">Description</th> 9173 <th class="th_units">Units</th> 9174 <th class="th_range">Range</th> 9175 <th class="th_notes">Notes</th> 9176 <th class="th_tags">Tags</th> 9177 </tr> 9178 </thead> 9179 9180 <tbody> 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 <tr class="entry" id="controls_android.shading.mode"> 9192 <td class="entry_name">android.<wbr>shading.<wbr>mode</td> 9193 <td class="entry_type"> 9194 <span class="entry_type_name entry_type_name_enum">byte</span> 9195 9196 <span class="entry_type_visibility"> [system]</span> 9197 9198 <ul class="entry_type_enum"> 9199 <li> 9200 <span class="entry_type_enum_name">OFF</span> 9201 <span class="entry_type_enum_notes">No shading correction is applied</span> 9202 </li> 9203 <li> 9204 <span class="entry_type_enum_name">FAST</span> 9205 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 9206 bayer output</span> 9207 </li> 9208 <li> 9209 <span class="entry_type_enum_name">HIGH_QUALITY</span> 9210 <span class="entry_type_enum_notes">Frame rate may be reduced by high 9211 quality</span> 9212 </li> 9213 </ul> 9214 9215 </td> <!-- entry_type --> 9216 9217 <td class="entry_description"> 9218 Quality of lens shading correction applied 9219 to the image data 9220 </td> 9221 9222 <td class="entry_units"> 9223 </td> 9224 9225 <td class="entry_range"> 9226 </td> 9227 9228 <td class="entry_notes"> 9229 </td> 9230 9231 <td class="entry_tags"> 9232 </td> 9233 9234 </tr> <!-- end of entry --> 9235 9236 9237 <tr class="entry" id="controls_android.shading.strength"> 9238 <td class="entry_name">android.<wbr>shading.<wbr>strength</td> 9239 <td class="entry_type"> 9240 <span class="entry_type_name">byte</span> 9241 9242 <span class="entry_type_visibility"> [system]</span> 9243 9244 9245 </td> <!-- entry_type --> 9246 9247 <td class="entry_description"> 9248 Control the amount of shading correction 9249 applied to the images 9250 </td> 9251 9252 <td class="entry_units"> 9253 unitless: 1-10; 10 is full shading 9254 compensation 9255 </td> 9256 9257 <td class="entry_range"> 9258 </td> 9259 9260 <td class="entry_notes"> 9261 </td> 9262 9263 <td class="entry_tags"> 9264 <ul class="entry_tags"> 9265 <li><a href="#tag_ADV">ADV</a></li> 9266 </ul> 9267 </td> 9268 9269 </tr> <!-- end of entry --> 9270 9271 9272 9273 <!-- end of kind --> 9274 </tbody> 9275 <tr><td colspan="7" class="kind">dynamic</td></tr> 9276 9277 <thead class="entries_header"> 9278 <tr> 9279 <th class="th_name">Property Name</th> 9280 <th class="th_type">Type</th> 9281 <th class="th_description">Description</th> 9282 <th class="th_units">Units</th> 9283 <th class="th_range">Range</th> 9284 <th class="th_notes">Notes</th> 9285 <th class="th_tags">Tags</th> 9286 </tr> 9287 </thead> 9288 9289 <tbody> 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 <tr class="entry" id="dynamic_android.shading.mode"> 9301 <td class="entry_name">android.<wbr>shading.<wbr>mode</td> 9302 <td class="entry_type"> 9303 <span class="entry_type_name entry_type_name_enum">byte</span> 9304 9305 <span class="entry_type_visibility"> [system]</span> 9306 9307 <ul class="entry_type_enum"> 9308 <li> 9309 <span class="entry_type_enum_name">OFF</span> 9310 <span class="entry_type_enum_notes">No shading correction is applied</span> 9311 </li> 9312 <li> 9313 <span class="entry_type_enum_name">FAST</span> 9314 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 9315 bayer output</span> 9316 </li> 9317 <li> 9318 <span class="entry_type_enum_name">HIGH_QUALITY</span> 9319 <span class="entry_type_enum_notes">Frame rate may be reduced by high 9320 quality</span> 9321 </li> 9322 </ul> 9323 9324 </td> <!-- entry_type --> 9325 9326 <td class="entry_description"> 9327 Quality of lens shading correction applied 9328 to the image data 9329 </td> 9330 9331 <td class="entry_units"> 9332 </td> 9333 9334 <td class="entry_range"> 9335 </td> 9336 9337 <td class="entry_notes"> 9338 </td> 9339 9340 <td class="entry_tags"> 9341 </td> 9342 9343 </tr> <!-- end of entry --> 9344 9345 9346 9347 <!-- end of kind --> 9348 </tbody> 9349 9350 <!-- end of section --> 9351 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr> 9352 9353 9354 <tr><td colspan="7" class="kind">controls</td></tr> 9355 9356 <thead class="entries_header"> 9357 <tr> 9358 <th class="th_name">Property Name</th> 9359 <th class="th_type">Type</th> 9360 <th class="th_description">Description</th> 9361 <th class="th_units">Units</th> 9362 <th class="th_range">Range</th> 9363 <th class="th_notes">Notes</th> 9364 <th class="th_tags">Tags</th> 9365 </tr> 9366 </thead> 9367 9368 <tbody> 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 <tr class="entry" id="controls_android.statistics.faceDetectMode"> 9380 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td> 9381 <td class="entry_type"> 9382 <span class="entry_type_name entry_type_name_enum">byte</span> 9383 9384 <span class="entry_type_visibility"> [public]</span> 9385 9386 <ul class="entry_type_enum"> 9387 <li> 9388 <span class="entry_type_enum_name">OFF</span> 9389 </li> 9390 <li> 9391 <span class="entry_type_enum_name">SIMPLE</span> 9392 <span class="entry_type_enum_notes">Optional Return rectangle and confidence 9393 only</span> 9394 </li> 9395 <li> 9396 <span class="entry_type_enum_name">FULL</span> 9397 <span class="entry_type_enum_notes">Optional Return all face 9398 metadata</span> 9399 </li> 9400 </ul> 9401 9402 </td> <!-- entry_type --> 9403 9404 <td class="entry_description"> 9405 State of the face detector 9406 unit 9407 </td> 9408 9409 <td class="entry_units"> 9410 </td> 9411 9412 <td class="entry_range"> 9413 9414 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes 9415 </td> 9416 9417 <td class="entry_notes"> 9418 Whether face detection is enabled,<wbr> and whether it 9419 should output just the basic fields or the full set of 9420 fields.<wbr> Value must be one of the 9421 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr> 9422 </td> 9423 9424 <td class="entry_tags"> 9425 <ul class="entry_tags"> 9426 <li><a href="#tag_BC">BC</a></li> 9427 </ul> 9428 </td> 9429 9430 </tr> <!-- end of entry --> 9431 9432 9433 <tr class="entry" id="controls_android.statistics.histogramMode"> 9434 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td> 9435 <td class="entry_type"> 9436 <span class="entry_type_name entry_type_name_enum">byte</span> 9437 9438 <span class="entry_type_visibility"> [system as boolean]</span> 9439 9440 <ul class="entry_type_enum"> 9441 <li> 9442 <span class="entry_type_enum_name">OFF</span> 9443 </li> 9444 <li> 9445 <span class="entry_type_enum_name">ON</span> 9446 </li> 9447 </ul> 9448 9449 </td> <!-- entry_type --> 9450 9451 <td class="entry_description"> 9452 Operating mode for histogram 9453 generation 9454 </td> 9455 9456 <td class="entry_units"> 9457 </td> 9458 9459 <td class="entry_range"> 9460 </td> 9461 9462 <td class="entry_notes"> 9463 </td> 9464 9465 <td class="entry_tags"> 9466 <ul class="entry_tags"> 9467 <li><a href="#tag_V1">V1</a></li> 9468 </ul> 9469 </td> 9470 9471 </tr> <!-- end of entry --> 9472 9473 9474 <tr class="entry" id="controls_android.statistics.sharpnessMapMode"> 9475 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td> 9476 <td class="entry_type"> 9477 <span class="entry_type_name entry_type_name_enum">byte</span> 9478 9479 <span class="entry_type_visibility"> [system as boolean]</span> 9480 9481 <ul class="entry_type_enum"> 9482 <li> 9483 <span class="entry_type_enum_name">OFF</span> 9484 </li> 9485 <li> 9486 <span class="entry_type_enum_name">ON</span> 9487 </li> 9488 </ul> 9489 9490 </td> <!-- entry_type --> 9491 9492 <td class="entry_description"> 9493 Operating mode for sharpness map 9494 generation 9495 </td> 9496 9497 <td class="entry_units"> 9498 </td> 9499 9500 <td class="entry_range"> 9501 </td> 9502 9503 <td class="entry_notes"> 9504 </td> 9505 9506 <td class="entry_tags"> 9507 <ul class="entry_tags"> 9508 <li><a href="#tag_V1">V1</a></li> 9509 </ul> 9510 </td> 9511 9512 </tr> <!-- end of entry --> 9513 9514 9515 <tr class="entry" id="controls_android.statistics.lensShadingMapMode"> 9516 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td> 9517 <td class="entry_type"> 9518 <span class="entry_type_name entry_type_name_enum">byte</span> 9519 9520 <span class="entry_type_visibility"> [public]</span> 9521 9522 <ul class="entry_type_enum"> 9523 <li> 9524 <span class="entry_type_enum_name">OFF</span> 9525 </li> 9526 <li> 9527 <span class="entry_type_enum_name">ON</span> 9528 </li> 9529 </ul> 9530 9531 </td> <!-- entry_type --> 9532 9533 <td class="entry_description"> 9534 Whether the HAL needs to output the lens 9535 shading map in output result metadata 9536 </td> 9537 9538 <td class="entry_units"> 9539 </td> 9540 9541 <td class="entry_range"> 9542 </td> 9543 9544 <td class="entry_notes"> 9545 When set to ON,<wbr> 9546 android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in 9547 the output result metdata.<wbr> 9548 </td> 9549 9550 <td class="entry_tags"> 9551 </td> 9552 9553 </tr> <!-- end of entry --> 9554 9555 9556 9557 <!-- end of kind --> 9558 </tbody> 9559 <tr><td colspan="7" class="kind">static</td></tr> 9560 9561 <thead class="entries_header"> 9562 <tr> 9563 <th class="th_name">Property Name</th> 9564 <th class="th_type">Type</th> 9565 <th class="th_description">Description</th> 9566 <th class="th_units">Units</th> 9567 <th class="th_range">Range</th> 9568 <th class="th_notes">Notes</th> 9569 <th class="th_tags">Tags</th> 9570 </tr> 9571 </thead> 9572 9573 <tbody> 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes"> 9587 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td> 9588 <td class="entry_type"> 9589 <span class="entry_type_name">byte</span> 9590 <span class="entry_type_container">x</span> 9591 9592 <span class="entry_type_array"> 9593 n 9594 </span> 9595 <span class="entry_type_visibility"> [public]</span> 9596 <div class="entry_type_notes">List of enums from android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</div> 9597 9598 9599 </td> <!-- entry_type --> 9600 9601 <td class="entry_description"> 9602 Which face detection modes are available,<wbr> 9603 if any 9604 </td> 9605 9606 <td class="entry_units"> 9607 List of enum: 9608 OFF 9609 SIMPLE 9610 FULL 9611 </td> 9612 9613 <td class="entry_range"> 9614 </td> 9615 9616 <td class="entry_notes"> 9617 OFF means face detection is disabled,<wbr> it must 9618 be included in the list.<wbr> 9619 <br> 9620 <br> SIMPLE means the device supports the 9621 android.<wbr>statistics.<wbr>face<wbr>Rectangles and 9622 android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr> 9623 <br> 9624 <br> FULL means the device additionally supports the 9625 android.<wbr>statistics.<wbr>face<wbr>Ids and 9626 android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr> 9627 9628 </td> 9629 9630 <td class="entry_tags"> 9631 </td> 9632 9633 </tr> <!-- end of entry --> 9634 9635 9636 <tr class="entry" id="static_android.statistics.info.histogramBucketCount"> 9637 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td> 9638 <td class="entry_type"> 9639 <span class="entry_type_name">int32</span> 9640 9641 <span class="entry_type_visibility"> [system]</span> 9642 9643 9644 </td> <!-- entry_type --> 9645 9646 <td class="entry_description"> 9647 Number of histogram buckets 9648 supported 9649 </td> 9650 9651 <td class="entry_units"> 9652 </td> 9653 9654 <td class="entry_range"> 9655 >= 64 9656 </td> 9657 9658 <td class="entry_notes"> 9659 </td> 9660 9661 <td class="entry_tags"> 9662 </td> 9663 9664 </tr> <!-- end of entry --> 9665 9666 9667 <tr class="entry" id="static_android.statistics.info.maxFaceCount"> 9668 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td> 9669 <td class="entry_type"> 9670 <span class="entry_type_name">int32</span> 9671 9672 <span class="entry_type_visibility"> [public]</span> 9673 9674 9675 </td> <!-- entry_type --> 9676 9677 <td class="entry_description"> 9678 Maximum number of simultaneously detectable 9679 faces 9680 </td> 9681 9682 <td class="entry_units"> 9683 </td> 9684 9685 <td class="entry_range"> 9686 >= 4 if availableFaceDetectionModes lists 9687 modes besides OFF,<wbr> otherwise 0 9688 </td> 9689 9690 <td class="entry_notes"> 9691 </td> 9692 9693 <td class="entry_tags"> 9694 </td> 9695 9696 </tr> <!-- end of entry --> 9697 9698 9699 <tr class="entry" id="static_android.statistics.info.maxHistogramCount"> 9700 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td> 9701 <td class="entry_type"> 9702 <span class="entry_type_name">int32</span> 9703 9704 <span class="entry_type_visibility"> [system]</span> 9705 9706 9707 </td> <!-- entry_type --> 9708 9709 <td class="entry_description"> 9710 Maximum value possible for a histogram 9711 bucket 9712 </td> 9713 9714 <td class="entry_units"> 9715 </td> 9716 9717 <td class="entry_range"> 9718 </td> 9719 9720 <td class="entry_notes"> 9721 </td> 9722 9723 <td class="entry_tags"> 9724 </td> 9725 9726 </tr> <!-- end of entry --> 9727 9728 9729 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue"> 9730 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td> 9731 <td class="entry_type"> 9732 <span class="entry_type_name">int32</span> 9733 9734 <span class="entry_type_visibility"> [system]</span> 9735 9736 9737 </td> <!-- entry_type --> 9738 9739 <td class="entry_description"> 9740 Maximum value possible for a sharpness map 9741 region.<wbr> 9742 </td> 9743 9744 <td class="entry_units"> 9745 </td> 9746 9747 <td class="entry_range"> 9748 </td> 9749 9750 <td class="entry_notes"> 9751 </td> 9752 9753 <td class="entry_tags"> 9754 </td> 9755 9756 </tr> <!-- end of entry --> 9757 9758 9759 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize"> 9760 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td> 9761 <td class="entry_type"> 9762 <span class="entry_type_name">int32</span> 9763 <span class="entry_type_container">x</span> 9764 9765 <span class="entry_type_array"> 9766 2 9767 </span> 9768 <span class="entry_type_visibility"> [system as size]</span> 9769 <div class="entry_type_notes">width x height</div> 9770 9771 9772 </td> <!-- entry_type --> 9773 9774 <td class="entry_description"> 9775 Dimensions of the sharpness 9776 map 9777 </td> 9778 9779 <td class="entry_units"> 9780 </td> 9781 9782 <td class="entry_range"> 9783 Must be at least 32 x 32 9784 </td> 9785 9786 <td class="entry_notes"> 9787 </td> 9788 9789 <td class="entry_tags"> 9790 </td> 9791 9792 </tr> <!-- end of entry --> 9793 9794 9795 9796 9797 9798 9799 <!-- end of kind --> 9800 </tbody> 9801 <tr><td colspan="7" class="kind">dynamic</td></tr> 9802 9803 <thead class="entries_header"> 9804 <tr> 9805 <th class="th_name">Property Name</th> 9806 <th class="th_type">Type</th> 9807 <th class="th_description">Description</th> 9808 <th class="th_units">Units</th> 9809 <th class="th_range">Range</th> 9810 <th class="th_notes">Notes</th> 9811 <th class="th_tags">Tags</th> 9812 </tr> 9813 </thead> 9814 9815 <tbody> 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 <tr class="entry" id="dynamic_android.statistics.faceDetectMode"> 9827 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td> 9828 <td class="entry_type"> 9829 <span class="entry_type_name entry_type_name_enum">byte</span> 9830 9831 <span class="entry_type_visibility"> [public]</span> 9832 9833 <ul class="entry_type_enum"> 9834 <li> 9835 <span class="entry_type_enum_name">OFF</span> 9836 </li> 9837 <li> 9838 <span class="entry_type_enum_name">SIMPLE</span> 9839 <span class="entry_type_enum_notes">Optional Return rectangle and confidence 9840 only</span> 9841 </li> 9842 <li> 9843 <span class="entry_type_enum_name">FULL</span> 9844 <span class="entry_type_enum_notes">Optional Return all face 9845 metadata</span> 9846 </li> 9847 </ul> 9848 9849 </td> <!-- entry_type --> 9850 9851 <td class="entry_description"> 9852 State of the face detector 9853 unit 9854 </td> 9855 9856 <td class="entry_units"> 9857 </td> 9858 9859 <td class="entry_range"> 9860 9861 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes 9862 </td> 9863 9864 <td class="entry_notes"> 9865 Whether face detection is enabled,<wbr> and whether it 9866 should output just the basic fields or the full set of 9867 fields.<wbr> Value must be one of the 9868 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr> 9869 </td> 9870 9871 <td class="entry_tags"> 9872 <ul class="entry_tags"> 9873 <li><a href="#tag_BC">BC</a></li> 9874 </ul> 9875 </td> 9876 9877 </tr> <!-- end of entry --> 9878 9879 9880 <tr class="entry" id="dynamic_android.statistics.faceIds"> 9881 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td> 9882 <td class="entry_type"> 9883 <span class="entry_type_name">int32</span> 9884 <span class="entry_type_container">x</span> 9885 9886 <span class="entry_type_array"> 9887 n 9888 </span> 9889 <span class="entry_type_visibility"> [public]</span> 9890 9891 9892 </td> <!-- entry_type --> 9893 9894 <td class="entry_description"> 9895 List of unique IDs for detected 9896 faces 9897 </td> 9898 9899 <td class="entry_units"> 9900 </td> 9901 9902 <td class="entry_range"> 9903 </td> 9904 9905 <td class="entry_notes"> 9906 Only available if faceDetectMode == FULL 9907 </td> 9908 9909 <td class="entry_tags"> 9910 <ul class="entry_tags"> 9911 <li><a href="#tag_BC">BC</a></li> 9912 </ul> 9913 </td> 9914 9915 </tr> <!-- end of entry --> 9916 9917 9918 <tr class="entry" id="dynamic_android.statistics.faceLandmarks"> 9919 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td> 9920 <td class="entry_type"> 9921 <span class="entry_type_name">int32</span> 9922 <span class="entry_type_container">x</span> 9923 9924 <span class="entry_type_array"> 9925 n x 6 9926 </span> 9927 <span class="entry_type_visibility"> [public]</span> 9928 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div> 9929 9930 9931 </td> <!-- entry_type --> 9932 9933 <td class="entry_description"> 9934 List of landmarks for detected 9935 faces 9936 </td> 9937 9938 <td class="entry_units"> 9939 </td> 9940 9941 <td class="entry_range"> 9942 </td> 9943 9944 <td class="entry_notes"> 9945 Only available if faceDetectMode == FULL 9946 </td> 9947 9948 <td class="entry_tags"> 9949 <ul class="entry_tags"> 9950 <li><a href="#tag_BC">BC</a></li> 9951 </ul> 9952 </td> 9953 9954 </tr> <!-- end of entry --> 9955 9956 9957 <tr class="entry" id="dynamic_android.statistics.faceRectangles"> 9958 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td> 9959 <td class="entry_type"> 9960 <span class="entry_type_name">int32</span> 9961 <span class="entry_type_container">x</span> 9962 9963 <span class="entry_type_array"> 9964 n x 4 9965 </span> 9966 <span class="entry_type_visibility"> [public as rectangle]</span> 9967 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div> 9968 9969 9970 </td> <!-- entry_type --> 9971 9972 <td class="entry_description"> 9973 List of the bounding rectangles for detected 9974 faces 9975 </td> 9976 9977 <td class="entry_units"> 9978 </td> 9979 9980 <td class="entry_range"> 9981 </td> 9982 9983 <td class="entry_notes"> 9984 Only available if faceDetectMode != OFF 9985 </td> 9986 9987 <td class="entry_tags"> 9988 <ul class="entry_tags"> 9989 <li><a href="#tag_BC">BC</a></li> 9990 </ul> 9991 </td> 9992 9993 </tr> <!-- end of entry --> 9994 9995 9996 <tr class="entry" id="dynamic_android.statistics.faceScores"> 9997 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td> 9998 <td class="entry_type"> 9999 <span class="entry_type_name">byte</span> 10000 <span class="entry_type_container">x</span> 10001 10002 <span class="entry_type_array"> 10003 n 10004 </span> 10005 <span class="entry_type_visibility"> [public]</span> 10006 10007 10008 </td> <!-- entry_type --> 10009 10010 <td class="entry_description"> 10011 List of the face confidence scores for 10012 detected faces 10013 </td> 10014 10015 <td class="entry_units"> 10016 </td> 10017 10018 <td class="entry_range"> 10019 1-100 10020 </td> 10021 10022 <td class="entry_notes"> 10023 Only available if faceDetectMode != OFF.<wbr> The value should be 10024 meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr> 10025 </td> 10026 10027 <td class="entry_tags"> 10028 <ul class="entry_tags"> 10029 <li><a href="#tag_BC">BC</a></li> 10030 </ul> 10031 </td> 10032 10033 </tr> <!-- end of entry --> 10034 10035 10036 <tr class="entry" id="dynamic_android.statistics.histogram"> 10037 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td> 10038 <td class="entry_type"> 10039 <span class="entry_type_name">int32</span> 10040 <span class="entry_type_container">x</span> 10041 10042 <span class="entry_type_array"> 10043 n x 3 10044 </span> 10045 <span class="entry_type_visibility"> [system]</span> 10046 <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> 10047 10048 10049 </td> <!-- entry_type --> 10050 10051 <td class="entry_description"> 10052 A 3-channel histogram based on the raw 10053 sensor data 10054 </td> 10055 10056 <td class="entry_units"> 10057 </td> 10058 10059 <td class="entry_range"> 10060 </td> 10061 10062 <td class="entry_notes"> 10063 The k'th bucket (0-based) covers the input range 10064 (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr> 10065 (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is 10066 supported,<wbr> all channels should have the same data 10067 </td> 10068 10069 <td class="entry_tags"> 10070 <ul class="entry_tags"> 10071 <li><a href="#tag_V1">V1</a></li> 10072 </ul> 10073 </td> 10074 10075 </tr> <!-- end of entry --> 10076 10077 10078 <tr class="entry" id="dynamic_android.statistics.histogramMode"> 10079 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td> 10080 <td class="entry_type"> 10081 <span class="entry_type_name entry_type_name_enum">byte</span> 10082 10083 <span class="entry_type_visibility"> [system as boolean]</span> 10084 10085 <ul class="entry_type_enum"> 10086 <li> 10087 <span class="entry_type_enum_name">OFF</span> 10088 </li> 10089 <li> 10090 <span class="entry_type_enum_name">ON</span> 10091 </li> 10092 </ul> 10093 10094 </td> <!-- entry_type --> 10095 10096 <td class="entry_description"> 10097 Operating mode for histogram 10098 generation 10099 </td> 10100 10101 <td class="entry_units"> 10102 </td> 10103 10104 <td class="entry_range"> 10105 </td> 10106 10107 <td class="entry_notes"> 10108 </td> 10109 10110 <td class="entry_tags"> 10111 <ul class="entry_tags"> 10112 <li><a href="#tag_V1">V1</a></li> 10113 </ul> 10114 </td> 10115 10116 </tr> <!-- end of entry --> 10117 10118 10119 <tr class="entry" id="dynamic_android.statistics.sharpnessMap"> 10120 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td> 10121 <td class="entry_type"> 10122 <span class="entry_type_name">int32</span> 10123 <span class="entry_type_container">x</span> 10124 10125 <span class="entry_type_array"> 10126 n x m x 3 10127 </span> 10128 <span class="entry_type_visibility"> [system]</span> 10129 <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> 10130 10131 10132 </td> <!-- entry_type --> 10133 10134 <td class="entry_description"> 10135 A 3-channel sharpness map,<wbr> based on the raw 10136 sensor data 10137 </td> 10138 10139 <td class="entry_units"> 10140 </td> 10141 10142 <td class="entry_range"> 10143 </td> 10144 10145 <td class="entry_notes"> 10146 If only a monochrome sharpness map is supported,<wbr> 10147 all channels should have the same data 10148 </td> 10149 10150 <td class="entry_tags"> 10151 <ul class="entry_tags"> 10152 <li><a href="#tag_V1">V1</a></li> 10153 </ul> 10154 </td> 10155 10156 </tr> <!-- end of entry --> 10157 10158 10159 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode"> 10160 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td> 10161 <td class="entry_type"> 10162 <span class="entry_type_name entry_type_name_enum">byte</span> 10163 10164 <span class="entry_type_visibility"> [system as boolean]</span> 10165 10166 <ul class="entry_type_enum"> 10167 <li> 10168 <span class="entry_type_enum_name">OFF</span> 10169 </li> 10170 <li> 10171 <span class="entry_type_enum_name">ON</span> 10172 </li> 10173 </ul> 10174 10175 </td> <!-- entry_type --> 10176 10177 <td class="entry_description"> 10178 Operating mode for sharpness map 10179 generation 10180 </td> 10181 10182 <td class="entry_units"> 10183 </td> 10184 10185 <td class="entry_range"> 10186 </td> 10187 10188 <td class="entry_notes"> 10189 </td> 10190 10191 <td class="entry_tags"> 10192 <ul class="entry_tags"> 10193 <li><a href="#tag_V1">V1</a></li> 10194 </ul> 10195 </td> 10196 10197 </tr> <!-- end of entry --> 10198 10199 10200 <tr class="entry" id="dynamic_android.statistics.lensShadingMap"> 10201 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td> 10202 <td class="entry_type"> 10203 <span class="entry_type_name">float</span> 10204 <span class="entry_type_container">x</span> 10205 10206 <span class="entry_type_array"> 10207 4 x n x m 10208 </span> 10209 <span class="entry_type_visibility"> [public]</span> 10210 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div> 10211 10212 10213 </td> <!-- entry_type --> 10214 10215 <td class="entry_description"> 10216 A low-resolution map of lens shading,<wbr> per 10217 color channel 10218 </td> 10219 10220 <td class="entry_units"> 10221 </td> 10222 10223 <td class="entry_range"> 10224 Each gain factor is >= 1 10225 </td> 10226 10227 <td class="entry_notes"> 10228 Assume bilinear interpolation of map.<wbr> The least 10229 shaded section of the image should have a gain factor 10230 of 1; all other sections should have gains above 1.<wbr> 10231 the map should be on the order of 30-40 rows,<wbr> and 10232 must be smaller than 64x64.<wbr> 10233 <br> 10234 <br> When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map 10235 must take into account the colorCorrection settings.<wbr> 10236 10237 </td> 10238 10239 <td class="entry_tags"> 10240 </td> 10241 10242 </tr> <!-- end of entry --> 10243 10244 10245 <tr class="entry" id="dynamic_android.statistics.predictedColorGains"> 10246 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td> 10247 <td class="entry_type"> 10248 <span class="entry_type_name">float</span> 10249 <span class="entry_type_container">x</span> 10250 10251 <span class="entry_type_array"> 10252 4 10253 </span> 10254 <span class="entry_type_visibility"> [public]</span> 10255 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div> 10256 10257 10258 </td> <!-- entry_type --> 10259 10260 <td class="entry_description"> 10261 The best-fit color channel gains calculated 10262 by the HAL's statistics units for the current output frame 10263 10264 </td> 10265 10266 <td class="entry_units"> 10267 </td> 10268 10269 <td class="entry_range"> 10270 </td> 10271 10272 <td class="entry_notes"> 10273 10274 This may be different than the gains used for this frame,<wbr> 10275 since statistics processing on data from a new frame 10276 typically completes after the transform has already been 10277 applied to that frame.<wbr> 10278 <br> 10279 <br> The 4 channel gains are defined in Bayer domain,<wbr> 10280 see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr> 10281 <br> 10282 <br> This value should always be calculated by the AWB block,<wbr> 10283 regardless of the android.<wbr>control.<wbr>* current values.<wbr> 10284 10285 </td> 10286 10287 <td class="entry_tags"> 10288 </td> 10289 10290 </tr> <!-- end of entry --> 10291 10292 10293 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform"> 10294 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td> 10295 <td class="entry_type"> 10296 <span class="entry_type_name">rational</span> 10297 <span class="entry_type_container">x</span> 10298 10299 <span class="entry_type_array"> 10300 3 x 3 10301 </span> 10302 <span class="entry_type_visibility"> [public]</span> 10303 <div class="entry_type_notes">3x3 rational matrix in row-major order</div> 10304 10305 10306 </td> <!-- entry_type --> 10307 10308 <td class="entry_description"> 10309 The best-fit color transform matrix estimate 10310 calculated by the HAL's statistics units for the current 10311 output frame 10312 </td> 10313 10314 <td class="entry_units"> 10315 </td> 10316 10317 <td class="entry_range"> 10318 </td> 10319 10320 <td class="entry_notes"> 10321 The HAL must provide the estimate from its 10322 statistics unit on the white balance transforms to use 10323 for the next frame.<wbr> These are the values the HAL believes 10324 are the best fit for the current output frame.<wbr> This may 10325 be different than the transform used for this frame,<wbr> since 10326 statistics processing on data from a new frame typically 10327 completes after the transform has already been applied to 10328 that frame.<wbr> 10329 <br> 10330 <br> These estimates must be provided for all frames,<wbr> even if 10331 capture settings and color transforms are set by the application.<wbr> 10332 <br> 10333 <br> This value should always be calculated by the AWB block,<wbr> 10334 regardless of the android.<wbr>control.<wbr>* current values.<wbr> 10335 10336 </td> 10337 10338 <td class="entry_tags"> 10339 </td> 10340 10341 </tr> <!-- end of entry --> 10342 10343 10344 <tr class="entry" id="dynamic_android.statistics.sceneFlicker"> 10345 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td> 10346 <td class="entry_type"> 10347 <span class="entry_type_name entry_type_name_enum">byte</span> 10348 10349 <span class="entry_type_visibility"> [public]</span> 10350 10351 <ul class="entry_type_enum"> 10352 <li> 10353 <span class="entry_type_enum_name">NONE</span> 10354 </li> 10355 <li> 10356 <span class="entry_type_enum_name">50HZ</span> 10357 </li> 10358 <li> 10359 <span class="entry_type_enum_name">60HZ</span> 10360 </li> 10361 </ul> 10362 10363 </td> <!-- entry_type --> 10364 10365 <td class="entry_description"> 10366 The HAL estimated scene illumination lighting 10367 frequency 10368 </td> 10369 10370 <td class="entry_units"> 10371 </td> 10372 10373 <td class="entry_range"> 10374 </td> 10375 10376 <td class="entry_notes"> 10377 Report NONE if there doesn't appear to be flickering 10378 illumination 10379 </td> 10380 10381 <td class="entry_tags"> 10382 </td> 10383 10384 </tr> <!-- end of entry --> 10385 10386 10387 10388 <!-- end of kind --> 10389 </tbody> 10390 10391 <!-- end of section --> 10392 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr> 10393 10394 10395 <tr><td colspan="7" class="kind">controls</td></tr> 10396 10397 <thead class="entries_header"> 10398 <tr> 10399 <th class="th_name">Property Name</th> 10400 <th class="th_type">Type</th> 10401 <th class="th_description">Description</th> 10402 <th class="th_units">Units</th> 10403 <th class="th_range">Range</th> 10404 <th class="th_notes">Notes</th> 10405 <th class="th_tags">Tags</th> 10406 </tr> 10407 </thead> 10408 10409 <tbody> 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 <tr class="entry" id="controls_android.tonemap.curveBlue"> 10421 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td> 10422 <td class="entry_type"> 10423 <span class="entry_type_name">float</span> 10424 <span class="entry_type_container">x</span> 10425 10426 <span class="entry_type_array"> 10427 n x 2 10428 </span> 10429 <span class="entry_type_visibility"> [public]</span> 10430 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10431 10432 10433 </td> <!-- entry_type --> 10434 10435 <td class="entry_description"> 10436 Table mapping blue input values to output 10437 values 10438 </td> 10439 10440 <td class="entry_units"> 10441 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10442 </td> 10443 10444 <td class="entry_range"> 10445 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10446 </td> 10447 10448 <td class="entry_notes"> 10449 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue 10450 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10451 <br> 10452 <br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr> 10453 </td> 10454 10455 <td class="entry_tags"> 10456 </td> 10457 10458 </tr> <!-- end of entry --> 10459 10460 10461 <tr class="entry" id="controls_android.tonemap.curveGreen"> 10462 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td> 10463 <td class="entry_type"> 10464 <span class="entry_type_name">float</span> 10465 <span class="entry_type_container">x</span> 10466 10467 <span class="entry_type_array"> 10468 n x 2 10469 </span> 10470 <span class="entry_type_visibility"> [public]</span> 10471 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10472 10473 10474 </td> <!-- entry_type --> 10475 10476 <td class="entry_description"> 10477 Table mapping green input values to output 10478 values 10479 </td> 10480 10481 <td class="entry_units"> 10482 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10483 </td> 10484 10485 <td class="entry_range"> 10486 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10487 </td> 10488 10489 <td class="entry_notes"> 10490 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green 10491 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10492 <br> 10493 <br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr> 10494 </td> 10495 10496 <td class="entry_tags"> 10497 </td> 10498 10499 </tr> <!-- end of entry --> 10500 10501 10502 <tr class="entry" id="controls_android.tonemap.curveRed"> 10503 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td> 10504 <td class="entry_type"> 10505 <span class="entry_type_name">float</span> 10506 <span class="entry_type_container">x</span> 10507 10508 <span class="entry_type_array"> 10509 n x 2 10510 </span> 10511 <span class="entry_type_visibility"> [public]</span> 10512 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10513 10514 10515 </td> <!-- entry_type --> 10516 10517 <td class="entry_description"> 10518 Table mapping red input values to output 10519 values 10520 </td> 10521 10522 <td class="entry_units"> 10523 </td> 10524 10525 <td class="entry_range"> 10526 0-1 on input and output coordinates.<wbr> 10527 </td> 10528 10529 <td class="entry_notes"> 10530 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red 10531 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10532 <br> 10533 <br> Since the input and output ranges may vary depending on 10534 the camera pipeline,<wbr> the input and output pixel values 10535 are represented by normalized floating-point values 10536 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr> 10537 <br> 10538 <br> The curve should be linearly interpolated between the 10539 defined points.<wbr> The points will be listed in increasing 10540 order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr> 10541 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping 10542 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 -> 10543 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64 10544 </td> 10545 10546 <td class="entry_tags"> 10547 <ul class="entry_tags"> 10548 <li><a href="#tag_DNG">DNG</a></li> 10549 </ul> 10550 </td> 10551 10552 </tr> <!-- end of entry --> 10553 10554 10555 <tr class="entry" id="controls_android.tonemap.mode"> 10556 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td> 10557 <td class="entry_type"> 10558 <span class="entry_type_name entry_type_name_enum">byte</span> 10559 10560 <span class="entry_type_visibility"> [public]</span> 10561 10562 <ul class="entry_type_enum"> 10563 <li> 10564 <span class="entry_type_enum_name">CONTRAST_CURVE</span> 10565 <span class="entry_type_enum_notes">Use the tone mapping curve specified in 10566 android.<wbr>tonemap.<wbr>curve</span> 10567 </li> 10568 <li> 10569 <span class="entry_type_enum_name">FAST</span> 10570 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 10571 bayer output</span> 10572 </li> 10573 <li> 10574 <span class="entry_type_enum_name">HIGH_QUALITY</span> 10575 <span class="entry_type_enum_notes">Frame rate may be reduced by high 10576 quality</span> 10577 </li> 10578 </ul> 10579 10580 </td> <!-- entry_type --> 10581 10582 <td class="entry_description"> 10583 </td> 10584 10585 <td class="entry_units"> 10586 </td> 10587 10588 <td class="entry_range"> 10589 </td> 10590 10591 <td class="entry_notes"> 10592 </td> 10593 10594 <td class="entry_tags"> 10595 </td> 10596 10597 </tr> <!-- end of entry --> 10598 10599 10600 10601 <!-- end of kind --> 10602 </tbody> 10603 <tr><td colspan="7" class="kind">static</td></tr> 10604 10605 <thead class="entries_header"> 10606 <tr> 10607 <th class="th_name">Property Name</th> 10608 <th class="th_type">Type</th> 10609 <th class="th_description">Description</th> 10610 <th class="th_units">Units</th> 10611 <th class="th_range">Range</th> 10612 <th class="th_notes">Notes</th> 10613 <th class="th_tags">Tags</th> 10614 </tr> 10615 </thead> 10616 10617 <tbody> 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 <tr class="entry" id="static_android.tonemap.maxCurvePoints"> 10629 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td> 10630 <td class="entry_type"> 10631 <span class="entry_type_name">int32</span> 10632 10633 <span class="entry_type_visibility"> [public]</span> 10634 10635 10636 </td> <!-- entry_type --> 10637 10638 <td class="entry_description"> 10639 Maximum number of supported points in the 10640 tonemap curve 10641 </td> 10642 10643 <td class="entry_units"> 10644 </td> 10645 10646 <td class="entry_range"> 10647 >= 128 10648 </td> 10649 10650 <td class="entry_notes"> 10651 </td> 10652 10653 <td class="entry_tags"> 10654 </td> 10655 10656 </tr> <!-- end of entry --> 10657 10658 10659 10660 <!-- end of kind --> 10661 </tbody> 10662 <tr><td colspan="7" class="kind">dynamic</td></tr> 10663 10664 <thead class="entries_header"> 10665 <tr> 10666 <th class="th_name">Property Name</th> 10667 <th class="th_type">Type</th> 10668 <th class="th_description">Description</th> 10669 <th class="th_units">Units</th> 10670 <th class="th_range">Range</th> 10671 <th class="th_notes">Notes</th> 10672 <th class="th_tags">Tags</th> 10673 </tr> 10674 </thead> 10675 10676 <tbody> 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 <tr class="entry" id="dynamic_android.tonemap.curveBlue"> 10688 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td> 10689 <td class="entry_type"> 10690 <span class="entry_type_name">float</span> 10691 <span class="entry_type_container">x</span> 10692 10693 <span class="entry_type_array"> 10694 n x 2 10695 </span> 10696 <span class="entry_type_visibility"> [public]</span> 10697 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10698 10699 10700 </td> <!-- entry_type --> 10701 10702 <td class="entry_description"> 10703 Table mapping blue input values to output 10704 values 10705 </td> 10706 10707 <td class="entry_units"> 10708 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10709 </td> 10710 10711 <td class="entry_range"> 10712 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10713 </td> 10714 10715 <td class="entry_notes"> 10716 Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue 10717 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10718 <br> 10719 <br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr> 10720 </td> 10721 10722 <td class="entry_tags"> 10723 </td> 10724 10725 </tr> <!-- end of entry --> 10726 10727 10728 <tr class="entry" id="dynamic_android.tonemap.curveGreen"> 10729 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td> 10730 <td class="entry_type"> 10731 <span class="entry_type_name">float</span> 10732 <span class="entry_type_container">x</span> 10733 10734 <span class="entry_type_array"> 10735 n x 2 10736 </span> 10737 <span class="entry_type_visibility"> [public]</span> 10738 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10739 10740 10741 </td> <!-- entry_type --> 10742 10743 <td class="entry_description"> 10744 Table mapping green input values to output 10745 values 10746 </td> 10747 10748 <td class="entry_units"> 10749 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10750 </td> 10751 10752 <td class="entry_range"> 10753 same as android.<wbr>tonemap.<wbr>curve<wbr>Red 10754 </td> 10755 10756 <td class="entry_notes"> 10757 Tonemapping /<wbr> contrast /<wbr> gamma curve for the green 10758 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10759 <br> 10760 <br> See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr> 10761 </td> 10762 10763 <td class="entry_tags"> 10764 </td> 10765 10766 </tr> <!-- end of entry --> 10767 10768 10769 <tr class="entry" id="dynamic_android.tonemap.curveRed"> 10770 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td> 10771 <td class="entry_type"> 10772 <span class="entry_type_name">float</span> 10773 <span class="entry_type_container">x</span> 10774 10775 <span class="entry_type_array"> 10776 n x 2 10777 </span> 10778 <span class="entry_type_visibility"> [public]</span> 10779 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div> 10780 10781 10782 </td> <!-- entry_type --> 10783 10784 <td class="entry_description"> 10785 Table mapping red input values to output 10786 values 10787 </td> 10788 10789 <td class="entry_units"> 10790 </td> 10791 10792 <td class="entry_range"> 10793 0-1 on input and output coordinates.<wbr> 10794 </td> 10795 10796 <td class="entry_notes"> 10797 Tonemapping /<wbr> contrast /<wbr> gamma curve for the red 10798 channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr> 10799 <br> 10800 <br> Since the input and output ranges may vary depending on 10801 the camera pipeline,<wbr> the input and output pixel values 10802 are represented by normalized floating-point values 10803 between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr> 10804 <br> 10805 <br> The curve should be linearly interpolated between the 10806 defined points.<wbr> The points will be listed in increasing 10807 order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr> 10808 0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping 10809 for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 -> 10810 0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64 10811 </td> 10812 10813 <td class="entry_tags"> 10814 <ul class="entry_tags"> 10815 <li><a href="#tag_DNG">DNG</a></li> 10816 </ul> 10817 </td> 10818 10819 </tr> <!-- end of entry --> 10820 10821 10822 <tr class="entry" id="dynamic_android.tonemap.mode"> 10823 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td> 10824 <td class="entry_type"> 10825 <span class="entry_type_name entry_type_name_enum">byte</span> 10826 10827 <span class="entry_type_visibility"> [public]</span> 10828 10829 <ul class="entry_type_enum"> 10830 <li> 10831 <span class="entry_type_enum_name">CONTRAST_CURVE</span> 10832 <span class="entry_type_enum_notes">Use the tone mapping curve specified in 10833 android.<wbr>tonemap.<wbr>curve</span> 10834 </li> 10835 <li> 10836 <span class="entry_type_enum_name">FAST</span> 10837 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw 10838 bayer output</span> 10839 </li> 10840 <li> 10841 <span class="entry_type_enum_name">HIGH_QUALITY</span> 10842 <span class="entry_type_enum_notes">Frame rate may be reduced by high 10843 quality</span> 10844 </li> 10845 </ul> 10846 10847 </td> <!-- entry_type --> 10848 10849 <td class="entry_description"> 10850 </td> 10851 10852 <td class="entry_units"> 10853 </td> 10854 10855 <td class="entry_range"> 10856 </td> 10857 10858 <td class="entry_notes"> 10859 </td> 10860 10861 <td class="entry_tags"> 10862 </td> 10863 10864 </tr> <!-- end of entry --> 10865 10866 10867 10868 <!-- end of kind --> 10869 </tbody> 10870 10871 <!-- end of section --> 10872 <tr><td colspan="7" id="section_led" class="section">led</td></tr> 10873 10874 10875 <tr><td colspan="7" class="kind">controls</td></tr> 10876 10877 <thead class="entries_header"> 10878 <tr> 10879 <th class="th_name">Property Name</th> 10880 <th class="th_type">Type</th> 10881 <th class="th_description">Description</th> 10882 <th class="th_units">Units</th> 10883 <th class="th_range">Range</th> 10884 <th class="th_notes">Notes</th> 10885 <th class="th_tags">Tags</th> 10886 </tr> 10887 </thead> 10888 10889 <tbody> 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 <tr class="entry" id="controls_android.led.transmit"> 10901 <td class="entry_name">android.<wbr>led.<wbr>transmit</td> 10902 <td class="entry_type"> 10903 <span class="entry_type_name entry_type_name_enum">byte</span> 10904 10905 <span class="entry_type_visibility"> [hidden as boolean]</span> 10906 10907 <ul class="entry_type_enum"> 10908 <li> 10909 <span class="entry_type_enum_name">OFF</span> 10910 </li> 10911 <li> 10912 <span class="entry_type_enum_name">ON</span> 10913 </li> 10914 </ul> 10915 10916 </td> <!-- entry_type --> 10917 10918 <td class="entry_description"> 10919 This LED is nominally used to indicate to the user 10920 that the camera is powered on and may be streaming images back to the 10921 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may 10922 disable this when video is processed locally and not transmitted to 10923 any untrusted applications.<wbr> 10924 <br> 10925 <br> In particular,<wbr> the LED *must* always be on when the data could be 10926 transmitted off the device.<wbr> The LED *should* always be on whenever 10927 data is stored locally on the device.<wbr> 10928 <br> 10929 <br> The LED *may* be off if a trusted application is using the data that 10930 doesn't violate the above rules.<wbr> 10931 10932 </td> 10933 10934 <td class="entry_units"> 10935 </td> 10936 10937 <td class="entry_range"> 10938 </td> 10939 10940 <td class="entry_notes"> 10941 </td> 10942 10943 <td class="entry_tags"> 10944 </td> 10945 10946 </tr> <!-- end of entry --> 10947 10948 10949 10950 <!-- end of kind --> 10951 </tbody> 10952 <tr><td colspan="7" class="kind">dynamic</td></tr> 10953 10954 <thead class="entries_header"> 10955 <tr> 10956 <th class="th_name">Property Name</th> 10957 <th class="th_type">Type</th> 10958 <th class="th_description">Description</th> 10959 <th class="th_units">Units</th> 10960 <th class="th_range">Range</th> 10961 <th class="th_notes">Notes</th> 10962 <th class="th_tags">Tags</th> 10963 </tr> 10964 </thead> 10965 10966 <tbody> 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 <tr class="entry" id="dynamic_android.led.transmit"> 10978 <td class="entry_name">android.<wbr>led.<wbr>transmit</td> 10979 <td class="entry_type"> 10980 <span class="entry_type_name entry_type_name_enum">byte</span> 10981 10982 <span class="entry_type_visibility"> [hidden as boolean]</span> 10983 10984 <ul class="entry_type_enum"> 10985 <li> 10986 <span class="entry_type_enum_name">OFF</span> 10987 </li> 10988 <li> 10989 <span class="entry_type_enum_name">ON</span> 10990 </li> 10991 </ul> 10992 10993 </td> <!-- entry_type --> 10994 10995 <td class="entry_description"> 10996 This LED is nominally used to indicate to the user 10997 that the camera is powered on and may be streaming images back to the 10998 Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may 10999 disable this when video is processed locally and not transmitted to 11000 any untrusted applications.<wbr> 11001 <br> 11002 <br> In particular,<wbr> the LED *must* always be on when the data could be 11003 transmitted off the device.<wbr> The LED *should* always be on whenever 11004 data is stored locally on the device.<wbr> 11005 <br> 11006 <br> The LED *may* be off if a trusted application is using the data that 11007 doesn't violate the above rules.<wbr> 11008 11009 </td> 11010 11011 <td class="entry_units"> 11012 </td> 11013 11014 <td class="entry_range"> 11015 </td> 11016 11017 <td class="entry_notes"> 11018 </td> 11019 11020 <td class="entry_tags"> 11021 </td> 11022 11023 </tr> <!-- end of entry --> 11024 11025 11026 11027 <!-- end of kind --> 11028 </tbody> 11029 <tr><td colspan="7" class="kind">static</td></tr> 11030 11031 <thead class="entries_header"> 11032 <tr> 11033 <th class="th_name">Property Name</th> 11034 <th class="th_type">Type</th> 11035 <th class="th_description">Description</th> 11036 <th class="th_units">Units</th> 11037 <th class="th_range">Range</th> 11038 <th class="th_notes">Notes</th> 11039 <th class="th_tags">Tags</th> 11040 </tr> 11041 </thead> 11042 11043 <tbody> 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 <tr class="entry" id="static_android.led.availableLeds"> 11055 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td> 11056 <td class="entry_type"> 11057 <span class="entry_type_name entry_type_name_enum">byte</span> 11058 <span class="entry_type_container">x</span> 11059 11060 <span class="entry_type_array"> 11061 n 11062 </span> 11063 <span class="entry_type_visibility"> [hidden]</span> 11064 11065 <ul class="entry_type_enum"> 11066 <li> 11067 <span class="entry_type_enum_name">TRANSMIT</span> 11068 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span> 11069 </li> 11070 </ul> 11071 11072 </td> <!-- entry_type --> 11073 11074 <td class="entry_description"> 11075 A list of camera LEDs that are available on this system.<wbr> 11076 11077 </td> 11078 11079 <td class="entry_units"> 11080 </td> 11081 11082 <td class="entry_range"> 11083 </td> 11084 11085 <td class="entry_notes"> 11086 </td> 11087 11088 <td class="entry_tags"> 11089 </td> 11090 11091 </tr> <!-- end of entry --> 11092 11093 11094 11095 <!-- end of kind --> 11096 </tbody> 11097 11098 <!-- end of section --> 11099 <tr><td colspan="7" id="section_info" class="section">info</td></tr> 11100 11101 11102 <tr><td colspan="7" class="kind">static</td></tr> 11103 11104 <thead class="entries_header"> 11105 <tr> 11106 <th class="th_name">Property Name</th> 11107 <th class="th_type">Type</th> 11108 <th class="th_description">Description</th> 11109 <th class="th_units">Units</th> 11110 <th class="th_range">Range</th> 11111 <th class="th_notes">Notes</th> 11112 <th class="th_tags">Tags</th> 11113 </tr> 11114 </thead> 11115 11116 <tbody> 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 <tr class="entry" id="static_android.info.supportedHardwareLevel"> 11128 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td> 11129 <td class="entry_type"> 11130 <span class="entry_type_name entry_type_name_enum">byte</span> 11131 11132 <span class="entry_type_visibility"> [public]</span> 11133 11134 <ul class="entry_type_enum"> 11135 <li> 11136 <span class="entry_type_enum_name">LIMITED</span> 11137 </li> 11138 <li> 11139 <span class="entry_type_enum_name">FULL</span> 11140 </li> 11141 </ul> 11142 11143 </td> <!-- entry_type --> 11144 11145 <td class="entry_description"> 11146 11147 The camera 3 HAL device can implement one of two possible 11148 operational modes; limited and full.<wbr> Full support is 11149 expected from new higher-end devices.<wbr> Limited mode has 11150 hardware requirements roughly in line with those for a 11151 camera HAL device v1 implementation,<wbr> and is expected from 11152 older or inexpensive devices.<wbr> Full is a strict superset of 11153 limited,<wbr> and they share the same essential operational flow.<wbr> 11154 <br> 11155 <br> For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h 11156 11157 </td> 11158 11159 <td class="entry_units"> 11160 </td> 11161 11162 <td class="entry_range"> 11163 Optional.<wbr> Default value is LIMITED.<wbr> 11164 </td> 11165 11166 <td class="entry_notes"> 11167 </td> 11168 11169 <td class="entry_tags"> 11170 </td> 11171 11172 </tr> <!-- end of entry --> 11173 11174 11175 11176 <!-- end of kind --> 11177 </tbody> 11178 11179 <!-- end of section --> 11180 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr> 11181 11182 11183 <tr><td colspan="7" class="kind">controls</td></tr> 11184 11185 <thead class="entries_header"> 11186 <tr> 11187 <th class="th_name">Property Name</th> 11188 <th class="th_type">Type</th> 11189 <th class="th_description">Description</th> 11190 <th class="th_units">Units</th> 11191 <th class="th_range">Range</th> 11192 <th class="th_notes">Notes</th> 11193 <th class="th_tags">Tags</th> 11194 </tr> 11195 </thead> 11196 11197 <tbody> 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 <tr class="entry" id="controls_android.blackLevel.lock"> 11209 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td> 11210 <td class="entry_type"> 11211 <span class="entry_type_name entry_type_name_enum">byte</span> 11212 11213 <span class="entry_type_visibility"> [public as boolean]</span> 11214 11215 <ul class="entry_type_enum"> 11216 <li> 11217 <span class="entry_type_enum_name">OFF</span> 11218 </li> 11219 <li> 11220 <span class="entry_type_enum_name">ON</span> 11221 </li> 11222 </ul> 11223 11224 </td> <!-- entry_type --> 11225 11226 <td class="entry_description"> 11227 Whether black-level compensation is locked 11228 to its current values,<wbr> or is free to vary 11229 </td> 11230 11231 <td class="entry_units"> 11232 </td> 11233 11234 <td class="entry_range"> 11235 </td> 11236 11237 <td class="entry_notes"> 11238 When set to ON,<wbr> the values used for black-level 11239 compensation must not change until the lock is set to 11240 OFF 11241 <br> 11242 <br> Since changes to certain capture parameters (such as 11243 exposure time) may require resetting of black level 11244 compensation,<wbr> the HAL must report whether setting the 11245 black level lock was successful in the output result 11246 metadata.<wbr> 11247 <br> 11248 <br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr> 11249 If for some reason black level locking is no longer legal (for example,<wbr> 11250 the analog gain has changed,<wbr> which forces black levels to be 11251 recalculated),<wbr> then the HAL is free to override this request (and it 11252 must report 'OFF' when this does happen) until the next time locking 11253 is legal again.<wbr> 11254 </td> 11255 11256 <td class="entry_tags"> 11257 <ul class="entry_tags"> 11258 <li><a href="#tag_HAL2">HAL2</a></li> 11259 </ul> 11260 </td> 11261 11262 </tr> <!-- end of entry --> 11263 11264 11265 11266 <!-- end of kind --> 11267 </tbody> 11268 <tr><td colspan="7" class="kind">dynamic</td></tr> 11269 11270 <thead class="entries_header"> 11271 <tr> 11272 <th class="th_name">Property Name</th> 11273 <th class="th_type">Type</th> 11274 <th class="th_description">Description</th> 11275 <th class="th_units">Units</th> 11276 <th class="th_range">Range</th> 11277 <th class="th_notes">Notes</th> 11278 <th class="th_tags">Tags</th> 11279 </tr> 11280 </thead> 11281 11282 <tbody> 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 <tr class="entry" id="dynamic_android.blackLevel.lock"> 11294 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td> 11295 <td class="entry_type"> 11296 <span class="entry_type_name entry_type_name_enum">byte</span> 11297 11298 <span class="entry_type_visibility"> [public as boolean]</span> 11299 11300 <ul class="entry_type_enum"> 11301 <li> 11302 <span class="entry_type_enum_name">OFF</span> 11303 </li> 11304 <li> 11305 <span class="entry_type_enum_name">ON</span> 11306 </li> 11307 </ul> 11308 11309 </td> <!-- entry_type --> 11310 11311 <td class="entry_description"> 11312 Whether black-level compensation is locked 11313 to its current values,<wbr> or is free to vary 11314 </td> 11315 11316 <td class="entry_units"> 11317 </td> 11318 11319 <td class="entry_range"> 11320 </td> 11321 11322 <td class="entry_notes"> 11323 When set to ON,<wbr> the values used for black-level 11324 compensation must not change until the lock is set to 11325 OFF 11326 <br> 11327 <br> Since changes to certain capture parameters (such as 11328 exposure time) may require resetting of black level 11329 compensation,<wbr> the HAL must report whether setting the 11330 black level lock was successful in the output result 11331 metadata.<wbr> 11332 <br> 11333 <br> The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr> 11334 If for some reason black level locking is no longer legal (for example,<wbr> 11335 the analog gain has changed,<wbr> which forces black levels to be 11336 recalculated),<wbr> then the HAL is free to override this request (and it 11337 must report 'OFF' when this does happen) until the next time locking 11338 is legal again.<wbr> 11339 </td> 11340 11341 <td class="entry_tags"> 11342 <ul class="entry_tags"> 11343 <li><a href="#tag_HAL2">HAL2</a></li> 11344 </ul> 11345 </td> 11346 11347 </tr> <!-- end of entry --> 11348 11349 11350 11351 <!-- end of kind --> 11352 </tbody> 11353 11354 <!-- end of section --> 11355 <!-- </namespace> --> 11356 </table> 11357 11358 <div class="tags" id="tag_index"> 11359 <h2>Tags</h2> 11360 <ul> 11361 <li id="tag_AWB">AWB - 11362 Needed for auto white balance 11363 11364 <ul class="tags_entries"> 11365 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li> 11366 </ul> 11367 </li> <!-- tag_AWB --> 11368 <li id="tag_BC">BC - 11369 Needed for backwards compatibility with old Java API 11370 11371 <ul class="tags_entries"> 11372 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li> 11373 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li> 11374 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li> 11375 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li> 11376 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li> 11377 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li> 11378 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li> 11379 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li> 11380 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li> 11381 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li> 11382 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li> 11383 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li> 11384 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li> 11385 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li> 11386 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li> 11387 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li> 11388 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li> 11389 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li> 11390 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li> 11391 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li> 11392 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li> 11393 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li> 11394 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li> 11395 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li> 11396 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li> 11397 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li> 11398 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li> 11399 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li> 11400 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li> 11401 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li> 11402 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li> 11403 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li> 11404 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li> 11405 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li> 11406 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li> 11407 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li> 11408 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li> 11409 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li> 11410 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li> 11411 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li> 11412 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li> 11413 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li> 11414 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li> 11415 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li> 11416 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li> 11417 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li> 11418 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li> 11419 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li> 11420 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li> 11421 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li> 11422 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li> 11423 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li> 11424 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li> 11425 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li> 11426 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li> 11427 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li> 11428 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li> 11429 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li> 11430 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li> 11431 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li> 11432 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li> 11433 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li> 11434 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li> 11435 </ul> 11436 </li> <!-- tag_BC --> 11437 <li id="tag_V1">V1 - 11438 New features for first camera 2 release (API1) 11439 11440 <ul class="tags_entries"> 11441 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li> 11442 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li> 11443 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li> 11444 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li> 11445 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li> 11446 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li> 11447 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li> 11448 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li> 11449 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li> 11450 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li> 11451 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li> 11452 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li> 11453 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li> 11454 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li> 11455 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li> 11456 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li> 11457 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li> 11458 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li> 11459 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li> 11460 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li> 11461 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li> 11462 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li> 11463 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li> 11464 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li> 11465 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li> 11466 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li> 11467 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li> 11468 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li> 11469 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li> 11470 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li> 11471 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li> 11472 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li> 11473 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li> 11474 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li> 11475 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li> 11476 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li> 11477 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li> 11478 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li> 11479 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li> 11480 </ul> 11481 </li> <!-- tag_V1 --> 11482 <li id="tag_ADV">ADV - None 11483 <ul class="tags_entries"> 11484 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li> 11485 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li> 11486 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li> 11487 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li> 11488 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li> 11489 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li> 11490 </ul> 11491 </li> <!-- tag_ADV --> 11492 <li id="tag_DNG">DNG - 11493 Needed for DNG file support 11494 11495 <ul class="tags_entries"> 11496 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li> 11497 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li> 11498 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li> 11499 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li> 11500 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li> 11501 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li> 11502 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li> 11503 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li> 11504 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li> 11505 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li> 11506 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li> 11507 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li> 11508 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li> 11509 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li> 11510 </ul> 11511 </li> <!-- tag_DNG --> 11512 <li id="tag_EXIF">EXIF - None 11513 <ul class="tags_entries"> 11514 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li> 11515 </ul> 11516 </li> <!-- tag_EXIF --> 11517 <li id="tag_HAL2">HAL2 - 11518 Entry is only used by camera device HAL 2.x 11519 11520 <ul class="tags_entries"> 11521 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li> 11522 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li> 11523 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li> 11524 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li> 11525 </ul> 11526 </li> <!-- tag_HAL2 --> 11527 <li id="tag_FULL">FULL - 11528 Entry is required for full hardware level devices, and optional for other hardware levels 11529 11530 <ul class="tags_entries"> 11531 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li> 11532 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li> 11533 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li> 11534 </ul> 11535 </li> <!-- tag_FULL --> 11536 </ul> 11537 </div> 11538 11539 [ <a href="#">top</a> ] 11540 11541 </body> 11542 </html> 11543