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