GoogleGit

blob: c9ae10fdd55f6a2c67bb253f0f2464a4943b279d [file] [log] [blame]
  1. <!DOCTYPE html>
  2. <html>
  3. <!-- Copyright (C) 2012 The Android Open Source Project
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. -->
  14. <head>
  15. <!-- automatically generated from html.mako. do NOT edit directly -->
  16. <meta charset="utf-8" />
  17. <title>Android Camera HAL3.2 Properties</title>
  18. <style type="text/css">
  19. body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
  20. h1 { color: #333333; }
  21. h2 { color: #333333; }
  22. a:link { color: #258aaf; text-decoration: none}
  23. a:hover { color: #459aaf; text-decoration: underline }
  24. a:visited { color: #154a5f; text-decoration: none}
  25. .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}
  26. .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
  27. .entry { background-color: #f0f0f0 }
  28. .entry_cont { background-color: #f0f0f0 }
  29. .entries_header { background-color: #dddddd; text-align: center}
  30. /* toc style */
  31. .toc_section_header { font-size:1.3em; }
  32. .toc_kind_header { font-size:1.2em; }
  33. .toc_deprecated { text-decoration:line-through; }
  34. /* table column sizes */
  35. table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
  36. td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
  37. .th_name { width: 20% }
  38. .th_units { width: 10% }
  39. .th_tags { width: 5% }
  40. .th_details { width: 25% }
  41. .th_type { width: 20% }
  42. .th_description { width: 20% }
  43. .th_range { width: 10% }
  44. td { font-size: 0.9em; }
  45. /* hide the first thead, we need it there only to enforce column sizes */
  46. .thead_dummy { visibility: hidden; }
  47. /* Entry flair */
  48. .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; vertical-align:top; }
  49. .entry_name_deprecated { text-decoration:line-through; }
  50. /* Entry type flair */
  51. .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
  52. .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
  53. .entry_type_visibility { font-weight: bolder; padding-left:1em}
  54. .entry_type_synthetic { font-weight: bolder; color: #996600; }
  55. .entry_type_hwlevel { font-weight: bolder; color: #000066; }
  56. .entry_type_deprecated { font-weight: bolder; color: #4D4D4D; }
  57. .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
  58. .entry_type_enum_notes:before { content:" - " }
  59. .entry_type_enum_notes>p:first-child { display:inline; }
  60. .entry_type_enum_value:before { content:" = " }
  61. .entry_type_enum_value { font-family: monospace; }
  62. .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
  63. .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
  64. .entry_range_deprecated { font-weight: bolder; }
  65. /* Entry tags flair */
  66. .entry_tags ul { list-style-type: none; }
  67. /* Entry details (full docs) flair */
  68. .entry_details_header { font-weight: bold; background-color: #dddddd;
  69. text-align: center; font-size: 1.1em; margin-left: 0em; margin-right: 0em; }
  70. /* Entry spacer flair */
  71. .entry_spacer { background-color: transparent; border-style: none; height: 0.5em; }
  72. /* TODO: generate abbr element for each tag link? */
  73. /* TODO for each x.y.z try to link it to the entry */
  74. </style>
  75. <style>
  76. {
  77. /* broken...
  78. supposedly there is a bug in chrome that it lays out tables before
  79. it knows its being printed, so the page-break-* styles are ignored
  80. */
  81. tr { page-break-after: always; page-break-inside: avoid; }
  82. }
  83. </style>
  84. </head>
  85. <body>
  86. <h1>Android Camera HAL3.2 Properties</h1>
  87. <h2>Table of Contents</h2>
  88. <ul class="toc">
  89. <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
  90. <li>
  91. <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
  92. <ul class="toc_section">
  93. <li>
  94. <span class="toc_kind_header">controls</span>
  95. <ul class="toc_section">
  96. <li
  97. ><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
  98. <li
  99. ><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
  100. <li
  101. ><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
  102. <li
  103. ><a href="#controls_android.colorCorrection.aberrationMode">android.colorCorrection.aberrationMode</a></li>
  104. </ul>
  105. </li>
  106. <li>
  107. <span class="toc_kind_header">dynamic</span>
  108. <ul class="toc_section">
  109. <li
  110. ><a href="#dynamic_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
  111. <li
  112. ><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
  113. <li
  114. ><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
  115. <li
  116. ><a href="#dynamic_android.colorCorrection.aberrationMode">android.colorCorrection.aberrationMode</a></li>
  117. </ul>
  118. </li>
  119. <li>
  120. <span class="toc_kind_header">static</span>
  121. <ul class="toc_section">
  122. <li
  123. ><a href="#static_android.colorCorrection.availableAberrationModes">android.colorCorrection.availableAberrationModes</a></li>
  124. </ul>
  125. </li>
  126. </ul> <!-- toc_section -->
  127. </li>
  128. <li>
  129. <span class="toc_section_header"><a href="#section_control">control</a></span>
  130. <ul class="toc_section">
  131. <li>
  132. <span class="toc_kind_header">controls</span>
  133. <ul class="toc_section">
  134. <li
  135. ><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
  136. <li
  137. ><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
  138. <li
  139. ><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
  140. <li
  141. ><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
  142. <li
  143. ><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
  144. <li
  145. ><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
  146. <li
  147. ><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
  148. <li
  149. ><a href="#controls_android.control.afMode">android.control.afMode</a></li>
  150. <li
  151. ><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
  152. <li
  153. ><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
  154. <li
  155. ><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
  156. <li
  157. ><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
  158. <li
  159. ><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
  160. <li
  161. ><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
  162. <li
  163. ><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
  164. <li
  165. ><a href="#controls_android.control.mode">android.control.mode</a></li>
  166. <li
  167. ><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
  168. <li
  169. ><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
  170. </ul>
  171. </li>
  172. <li>
  173. <span class="toc_kind_header">static</span>
  174. <ul class="toc_section">
  175. <li
  176. ><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
  177. <li
  178. ><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
  179. <li
  180. ><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
  181. <li
  182. ><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
  183. <li
  184. ><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
  185. <li
  186. ><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
  187. <li
  188. ><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
  189. <li
  190. ><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
  191. <li
  192. ><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
  193. <li
  194. ><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
  195. <li
  196. ><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
  197. <li
  198. ><a href="#static_android.control.maxRegionsAe">android.control.maxRegionsAe</a></li>
  199. <li
  200. ><a href="#static_android.control.maxRegionsAwb">android.control.maxRegionsAwb</a></li>
  201. <li
  202. ><a href="#static_android.control.maxRegionsAf">android.control.maxRegionsAf</a></li>
  203. <li
  204. ><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
  205. <li
  206. ><a href="#static_android.control.availableHighSpeedVideoConfigurations">android.control.availableHighSpeedVideoConfigurations</a></li>
  207. </ul>
  208. </li>
  209. <li>
  210. <span class="toc_kind_header">dynamic</span>
  211. <ul class="toc_section">
  212. <li
  213. class="toc_deprecated"
  214. ><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
  215. <li
  216. ><a href="#dynamic_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
  217. <li
  218. ><a href="#dynamic_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
  219. <li
  220. ><a href="#dynamic_android.control.aeLock">android.control.aeLock</a></li>
  221. <li
  222. ><a href="#dynamic_android.control.aeMode">android.control.aeMode</a></li>
  223. <li
  224. ><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
  225. <li
  226. ><a href="#dynamic_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
  227. <li
  228. ><a href="#dynamic_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
  229. <li
  230. ><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
  231. <li
  232. ><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
  233. <li
  234. ><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
  235. <li
  236. ><a href="#dynamic_android.control.afTrigger">android.control.afTrigger</a></li>
  237. <li
  238. ><a href="#dynamic_android.control.afState">android.control.afState</a></li>
  239. <li
  240. class="toc_deprecated"
  241. ><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
  242. <li
  243. ><a href="#dynamic_android.control.awbLock">android.control.awbLock</a></li>
  244. <li
  245. ><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
  246. <li
  247. ><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
  248. <li
  249. ><a href="#dynamic_android.control.captureIntent">android.control.captureIntent</a></li>
  250. <li
  251. ><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
  252. <li
  253. ><a href="#dynamic_android.control.effectMode">android.control.effectMode</a></li>
  254. <li
  255. ><a href="#dynamic_android.control.mode">android.control.mode</a></li>
  256. <li
  257. ><a href="#dynamic_android.control.sceneMode">android.control.sceneMode</a></li>
  258. <li
  259. ><a href="#dynamic_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
  260. </ul>
  261. </li>
  262. </ul> <!-- toc_section -->
  263. </li>
  264. <li>
  265. <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
  266. <ul class="toc_section">
  267. <li>
  268. <span class="toc_kind_header">controls</span>
  269. <ul class="toc_section">
  270. <li
  271. ><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
  272. </ul>
  273. </li>
  274. </ul> <!-- toc_section -->
  275. </li>
  276. <li>
  277. <span class="toc_section_header"><a href="#section_edge">edge</a></span>
  278. <ul class="toc_section">
  279. <li>
  280. <span class="toc_kind_header">controls</span>
  281. <ul class="toc_section">
  282. <li
  283. ><a href="#controls_android.edge.mode">android.edge.mode</a></li>
  284. <li
  285. ><a href="#controls_android.edge.strength">android.edge.strength</a></li>
  286. </ul>
  287. </li>
  288. <li>
  289. <span class="toc_kind_header">static</span>
  290. <ul class="toc_section">
  291. <li
  292. ><a href="#static_android.edge.availableEdgeModes">android.edge.availableEdgeModes</a></li>
  293. </ul>
  294. </li>
  295. <li>
  296. <span class="toc_kind_header">dynamic</span>
  297. <ul class="toc_section">
  298. <li
  299. ><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
  300. </ul>
  301. </li>
  302. </ul> <!-- toc_section -->
  303. </li>
  304. <li>
  305. <span class="toc_section_header"><a href="#section_flash">flash</a></span>
  306. <ul class="toc_section">
  307. <li>
  308. <span class="toc_kind_header">controls</span>
  309. <ul class="toc_section">
  310. <li
  311. ><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
  312. <li
  313. ><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
  314. <li
  315. ><a href="#controls_android.flash.mode">android.flash.mode</a></li>
  316. </ul>
  317. </li>
  318. <li>
  319. <span class="toc_kind_header">static</span>
  320. <ul class="toc_section">
  321. <li
  322. ><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
  323. <li
  324. ><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
  325. <li
  326. ><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
  327. <li
  328. ><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
  329. </ul>
  330. </li>
  331. <li>
  332. <span class="toc_kind_header">dynamic</span>
  333. <ul class="toc_section">
  334. <li
  335. ><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
  336. <li
  337. ><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
  338. <li
  339. ><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
  340. <li
  341. ><a href="#dynamic_android.flash.state">android.flash.state</a></li>
  342. </ul>
  343. </li>
  344. </ul> <!-- toc_section -->
  345. </li>
  346. <li>
  347. <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
  348. <ul class="toc_section">
  349. <li>
  350. <span class="toc_kind_header">controls</span>
  351. <ul class="toc_section">
  352. <li
  353. ><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
  354. </ul>
  355. </li>
  356. <li>
  357. <span class="toc_kind_header">static</span>
  358. <ul class="toc_section">
  359. <li
  360. ><a href="#static_android.hotPixel.availableHotPixelModes">android.hotPixel.availableHotPixelModes</a></li>
  361. </ul>
  362. </li>
  363. <li>
  364. <span class="toc_kind_header">dynamic</span>
  365. <ul class="toc_section">
  366. <li
  367. ><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
  368. </ul>
  369. </li>
  370. </ul> <!-- toc_section -->
  371. </li>
  372. <li>
  373. <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
  374. <ul class="toc_section">
  375. <li>
  376. <span class="toc_kind_header">controls</span>
  377. <ul class="toc_section">
  378. <li
  379. ><a href="#controls_android.jpeg.gpsLocation">android.jpeg.gpsLocation</a></li>
  380. <li
  381. ><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
  382. <li
  383. ><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
  384. <li
  385. ><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
  386. <li
  387. ><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
  388. <li
  389. ><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
  390. <li
  391. ><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
  392. <li
  393. ><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
  394. </ul>
  395. </li>
  396. <li>
  397. <span class="toc_kind_header">static</span>
  398. <ul class="toc_section">
  399. <li
  400. ><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
  401. <li
  402. ><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
  403. </ul>
  404. </li>
  405. <li>
  406. <span class="toc_kind_header">dynamic</span>
  407. <ul class="toc_section">
  408. <li
  409. ><a href="#dynamic_android.jpeg.gpsLocation">android.jpeg.gpsLocation</a></li>
  410. <li
  411. ><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
  412. <li
  413. ><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
  414. <li
  415. ><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
  416. <li
  417. ><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
  418. <li
  419. ><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
  420. <li
  421. ><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
  422. <li
  423. ><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
  424. <li
  425. ><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
  426. </ul>
  427. </li>
  428. </ul> <!-- toc_section -->
  429. </li>
  430. <li>
  431. <span class="toc_section_header"><a href="#section_lens">lens</a></span>
  432. <ul class="toc_section">
  433. <li>
  434. <span class="toc_kind_header">controls</span>
  435. <ul class="toc_section">
  436. <li
  437. ><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
  438. <li
  439. ><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
  440. <li
  441. ><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
  442. <li
  443. ><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
  444. <li
  445. ><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
  446. </ul>
  447. </li>
  448. <li>
  449. <span class="toc_kind_header">static</span>
  450. <ul class="toc_section">
  451. <li
  452. ><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
  453. <li
  454. ><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
  455. <li
  456. ><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
  457. <li
  458. ><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
  459. <li
  460. ><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
  461. <li
  462. ><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
  463. <li
  464. ><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
  465. <li
  466. ><a href="#static_android.lens.info.focusDistanceCalibration">android.lens.info.focusDistanceCalibration</a></li>
  467. <li
  468. ><a href="#static_android.lens.facing">android.lens.facing</a></li>
  469. <li
  470. ><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
  471. <li
  472. ><a href="#static_android.lens.position">android.lens.position</a></li>
  473. </ul>
  474. </li>
  475. <li>
  476. <span class="toc_kind_header">dynamic</span>
  477. <ul class="toc_section">
  478. <li
  479. ><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
  480. <li
  481. ><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
  482. <li
  483. ><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
  484. <li
  485. ><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
  486. <li
  487. ><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
  488. <li
  489. ><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
  490. <li
  491. ><a href="#dynamic_android.lens.state">android.lens.state</a></li>
  492. </ul>
  493. </li>
  494. </ul> <!-- toc_section -->
  495. </li>
  496. <li>
  497. <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
  498. <ul class="toc_section">
  499. <li>
  500. <span class="toc_kind_header">controls</span>
  501. <ul class="toc_section">
  502. <li
  503. ><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
  504. <li
  505. ><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
  506. </ul>
  507. </li>
  508. <li>
  509. <span class="toc_kind_header">static</span>
  510. <ul class="toc_section">
  511. <li
  512. ><a href="#static_android.noiseReduction.availableNoiseReductionModes">android.noiseReduction.availableNoiseReductionModes</a></li>
  513. </ul>
  514. </li>
  515. <li>
  516. <span class="toc_kind_header">dynamic</span>
  517. <ul class="toc_section">
  518. <li
  519. ><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
  520. </ul>
  521. </li>
  522. </ul> <!-- toc_section -->
  523. </li>
  524. <li>
  525. <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
  526. <ul class="toc_section">
  527. <li>
  528. <span class="toc_kind_header">static</span>
  529. <ul class="toc_section">
  530. <li
  531. class="toc_deprecated"
  532. ><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
  533. <li
  534. class="toc_deprecated"
  535. ><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
  536. <li
  537. class="toc_deprecated"
  538. ><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
  539. <li
  540. class="toc_deprecated"
  541. ><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
  542. </ul>
  543. </li>
  544. <li>
  545. <span class="toc_kind_header">dynamic</span>
  546. <ul class="toc_section">
  547. <li
  548. class="toc_deprecated"
  549. ><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
  550. </ul>
  551. </li>
  552. </ul> <!-- toc_section -->
  553. </li>
  554. <li>
  555. <span class="toc_section_header"><a href="#section_request">request</a></span>
  556. <ul class="toc_section">
  557. <li>
  558. <span class="toc_kind_header">controls</span>
  559. <ul class="toc_section">
  560. <li
  561. class="toc_deprecated"
  562. ><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
  563. <li
  564. ><a href="#controls_android.request.id">android.request.id</a></li>
  565. <li
  566. class="toc_deprecated"
  567. ><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
  568. <li
  569. ><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
  570. <li
  571. class="toc_deprecated"
  572. ><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
  573. <li
  574. class="toc_deprecated"
  575. ><a href="#controls_android.request.type">android.request.type</a></li>
  576. </ul>
  577. </li>
  578. <li>
  579. <span class="toc_kind_header">static</span>
  580. <ul class="toc_section">
  581. <li
  582. ><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
  583. <li
  584. ><a href="#static_android.request.maxNumOutputRaw">android.request.maxNumOutputRaw</a></li>
  585. <li
  586. ><a href="#static_android.request.maxNumOutputProc">android.request.maxNumOutputProc</a></li>
  587. <li
  588. ><a href="#static_android.request.maxNumOutputProcStalling">android.request.maxNumOutputProcStalling</a></li>
  589. <li
  590. class="toc_deprecated"
  591. ><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
  592. <li
  593. ><a href="#static_android.request.maxNumInputStreams">android.request.maxNumInputStreams</a></li>
  594. <li
  595. ><a href="#static_android.request.pipelineMaxDepth">android.request.pipelineMaxDepth</a></li>
  596. <li
  597. ><a href="#static_android.request.partialResultCount">android.request.partialResultCount</a></li>
  598. <li
  599. ><a href="#static_android.request.availableCapabilities">android.request.availableCapabilities</a></li>
  600. <li
  601. ><a href="#static_android.request.availableRequestKeys">android.request.availableRequestKeys</a></li>
  602. <li
  603. ><a href="#static_android.request.availableResultKeys">android.request.availableResultKeys</a></li>
  604. <li
  605. ><a href="#static_android.request.availableCharacteristicsKeys">android.request.availableCharacteristicsKeys</a></li>
  606. </ul>
  607. </li>
  608. <li>
  609. <span class="toc_kind_header">dynamic</span>
  610. <ul class="toc_section">
  611. <li
  612. class="toc_deprecated"
  613. ><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
  614. <li
  615. ><a href="#dynamic_android.request.id">android.request.id</a></li>
  616. <li
  617. ><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
  618. <li
  619. class="toc_deprecated"
  620. ><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
  621. <li
  622. ><a href="#dynamic_android.request.pipelineDepth">android.request.pipelineDepth</a></li>
  623. </ul>
  624. </li>
  625. </ul> <!-- toc_section -->
  626. </li>
  627. <li>
  628. <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
  629. <ul class="toc_section">
  630. <li>
  631. <span class="toc_kind_header">controls</span>
  632. <ul class="toc_section">
  633. <li
  634. ><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
  635. </ul>
  636. </li>
  637. <li>
  638. <span class="toc_kind_header">static</span>
  639. <ul class="toc_section">
  640. <li
  641. class="toc_deprecated"
  642. ><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
  643. <li
  644. class="toc_deprecated"
  645. ><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
  646. <li
  647. class="toc_deprecated"
  648. ><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
  649. <li
  650. ><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
  651. <li
  652. class="toc_deprecated"
  653. ><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
  654. <li
  655. class="toc_deprecated"
  656. ><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
  657. <li
  658. class="toc_deprecated"
  659. ><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
  660. <li
  661. class="toc_deprecated"
  662. ><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
  663. <li
  664. ><a href="#static_android.scaler.availableInputOutputFormatsMap">android.scaler.availableInputOutputFormatsMap</a></li>
  665. <li
  666. ><a href="#static_android.scaler.availableStreamConfigurations">android.scaler.availableStreamConfigurations</a></li>
  667. <li
  668. ><a href="#static_android.scaler.availableMinFrameDurations">android.scaler.availableMinFrameDurations</a></li>
  669. <li
  670. ><a href="#static_android.scaler.availableStallDurations">android.scaler.availableStallDurations</a></li>
  671. <li
  672. ><a href="#static_android.scaler.streamConfigurationMap">android.scaler.streamConfigurationMap</a></li>
  673. <li
  674. ><a href="#static_android.scaler.croppingType">android.scaler.croppingType</a></li>
  675. </ul>
  676. </li>
  677. <li>
  678. <span class="toc_kind_header">dynamic</span>
  679. <ul class="toc_section">
  680. <li
  681. ><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
  682. </ul>
  683. </li>
  684. </ul> <!-- toc_section -->
  685. </li>
  686. <li>
  687. <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
  688. <ul class="toc_section">
  689. <li>
  690. <span class="toc_kind_header">controls</span>
  691. <ul class="toc_section">
  692. <li
  693. ><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
  694. <li
  695. ><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
  696. <li
  697. ><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
  698. <li
  699. ><a href="#controls_android.sensor.testPatternData">android.sensor.testPatternData</a></li>
  700. <li
  701. ><a href="#controls_android.sensor.testPatternMode">android.sensor.testPatternMode</a></li>
  702. </ul>
  703. </li>
  704. <li>
  705. <span class="toc_kind_header">static</span>
  706. <ul class="toc_section">
  707. <li
  708. ><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
  709. <li
  710. ><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
  711. <li
  712. ><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
  713. <li
  714. ><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
  715. <li
  716. ><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
  717. <li
  718. ><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
  719. <li
  720. ><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
  721. <li
  722. ><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
  723. <li
  724. ><a href="#static_android.sensor.info.timestampSource">android.sensor.info.timestampSource</a></li>
  725. <li
  726. ><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
  727. <li
  728. ><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
  729. <li
  730. ><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
  731. <li
  732. ><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
  733. <li
  734. ><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
  735. <li
  736. ><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
  737. <li
  738. ><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
  739. <li
  740. ><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
  741. <li
  742. ><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
  743. <li
  744. ><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
  745. <li
  746. ><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
  747. <li
  748. ><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
  749. <li
  750. ><a href="#static_android.sensor.profileHueSatMapDimensions">android.sensor.profileHueSatMapDimensions</a></li>
  751. <li
  752. ><a href="#static_android.sensor.availableTestPatternModes">android.sensor.availableTestPatternModes</a></li>
  753. </ul>
  754. </li>
  755. <li>
  756. <span class="toc_kind_header">dynamic</span>
  757. <ul class="toc_section">
  758. <li
  759. ><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
  760. <li
  761. ><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
  762. <li
  763. ><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
  764. <li
  765. ><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
  766. <li
  767. ><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
  768. <li
  769. ><a href="#dynamic_android.sensor.neutralColorPoint">android.sensor.neutralColorPoint</a></li>
  770. <li
  771. ><a href="#dynamic_android.sensor.noiseProfile">android.sensor.noiseProfile</a></li>
  772. <li
  773. ><a href="#dynamic_android.sensor.profileHueSatMap">android.sensor.profileHueSatMap</a></li>
  774. <li
  775. ><a href="#dynamic_android.sensor.profileToneCurve">android.sensor.profileToneCurve</a></li>
  776. <li
  777. ><a href="#dynamic_android.sensor.greenSplit">android.sensor.greenSplit</a></li>
  778. <li
  779. ><a href="#dynamic_android.sensor.testPatternData">android.sensor.testPatternData</a></li>
  780. <li
  781. ><a href="#dynamic_android.sensor.testPatternMode">android.sensor.testPatternMode</a></li>
  782. <li
  783. ><a href="#dynamic_android.sensor.rollingShutterSkew">android.sensor.rollingShutterSkew</a></li>
  784. </ul>
  785. </li>
  786. </ul> <!-- toc_section -->
  787. </li>
  788. <li>
  789. <span class="toc_section_header"><a href="#section_shading">shading</a></span>
  790. <ul class="toc_section">
  791. <li>
  792. <span class="toc_kind_header">controls</span>
  793. <ul class="toc_section">
  794. <li
  795. ><a href="#controls_android.shading.mode">android.shading.mode</a></li>
  796. <li
  797. ><a href="#controls_android.shading.strength">android.shading.strength</a></li>
  798. </ul>
  799. </li>
  800. <li>
  801. <span class="toc_kind_header">dynamic</span>
  802. <ul class="toc_section">
  803. <li
  804. ><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
  805. </ul>
  806. </li>
  807. </ul> <!-- toc_section -->
  808. </li>
  809. <li>
  810. <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
  811. <ul class="toc_section">
  812. <li>
  813. <span class="toc_kind_header">controls</span>
  814. <ul class="toc_section">
  815. <li
  816. ><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
  817. <li
  818. ><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
  819. <li
  820. ><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
  821. <li
  822. ><a href="#controls_android.statistics.hotPixelMapMode">android.statistics.hotPixelMapMode</a></li>
  823. <li
  824. ><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
  825. </ul>
  826. </li>
  827. <li>
  828. <span class="toc_kind_header">static</span>
  829. <ul class="toc_section">
  830. <li
  831. ><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
  832. <li
  833. ><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
  834. <li
  835. ><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
  836. <li
  837. ><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
  838. <li
  839. ><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
  840. <li
  841. ><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
  842. <li
  843. ><a href="#static_android.statistics.info.availableHotPixelMapModes">android.statistics.info.availableHotPixelMapModes</a></li>
  844. </ul>
  845. </li>
  846. <li>
  847. <span class="toc_kind_header">dynamic</span>
  848. <ul class="toc_section">
  849. <li
  850. ><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
  851. <li
  852. ><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
  853. <li
  854. ><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
  855. <li
  856. ><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
  857. <li
  858. ><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
  859. <li
  860. ><a href="#dynamic_android.statistics.faces">android.statistics.faces</a></li>
  861. <li
  862. ><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
  863. <li
  864. ><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
  865. <li
  866. ><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
  867. <li
  868. ><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
  869. <li
  870. ><a href="#dynamic_android.statistics.lensShadingCorrectionMap">android.statistics.lensShadingCorrectionMap</a></li>
  871. <li
  872. ><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
  873. <li
  874. class="toc_deprecated"
  875. ><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
  876. <li
  877. class="toc_deprecated"
  878. ><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
  879. <li
  880. ><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
  881. <li
  882. ><a href="#dynamic_android.statistics.hotPixelMapMode">android.statistics.hotPixelMapMode</a></li>
  883. <li
  884. ><a href="#dynamic_android.statistics.hotPixelMap">android.statistics.hotPixelMap</a></li>
  885. <li
  886. ><a href="#dynamic_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
  887. </ul>
  888. </li>
  889. </ul> <!-- toc_section -->
  890. </li>
  891. <li>
  892. <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
  893. <ul class="toc_section">
  894. <li>
  895. <span class="toc_kind_header">controls</span>
  896. <ul class="toc_section">
  897. <li
  898. ><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
  899. <li
  900. ><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
  901. <li
  902. ><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
  903. <li
  904. ><a href="#controls_android.tonemap.curve">android.tonemap.curve</a></li>
  905. <li
  906. ><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
  907. </ul>
  908. </li>
  909. <li>
  910. <span class="toc_kind_header">static</span>
  911. <ul class="toc_section">
  912. <li
  913. ><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
  914. <li
  915. ><a href="#static_android.tonemap.availableToneMapModes">android.tonemap.availableToneMapModes</a></li>
  916. </ul>
  917. </li>
  918. <li>
  919. <span class="toc_kind_header">dynamic</span>
  920. <ul class="toc_section">
  921. <li
  922. ><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
  923. <li
  924. ><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
  925. <li
  926. ><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
  927. <li
  928. ><a href="#dynamic_android.tonemap.curve">android.tonemap.curve</a></li>
  929. <li
  930. ><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
  931. </ul>
  932. </li>
  933. </ul> <!-- toc_section -->
  934. </li>
  935. <li>
  936. <span class="toc_section_header"><a href="#section_led">led</a></span>
  937. <ul class="toc_section">
  938. <li>
  939. <span class="toc_kind_header">controls</span>
  940. <ul class="toc_section">
  941. <li
  942. ><a href="#controls_android.led.transmit">android.led.transmit</a></li>
  943. </ul>
  944. </li>
  945. <li>
  946. <span class="toc_kind_header">dynamic</span>
  947. <ul class="toc_section">
  948. <li
  949. ><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
  950. </ul>
  951. </li>
  952. <li>
  953. <span class="toc_kind_header">static</span>
  954. <ul class="toc_section">
  955. <li
  956. ><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
  957. </ul>
  958. </li>
  959. </ul> <!-- toc_section -->
  960. </li>
  961. <li>
  962. <span class="toc_section_header"><a href="#section_info">info</a></span>
  963. <ul class="toc_section">
  964. <li>
  965. <span class="toc_kind_header">static</span>
  966. <ul class="toc_section">
  967. <li
  968. ><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
  969. </ul>
  970. </li>
  971. </ul> <!-- toc_section -->
  972. </li>
  973. <li>
  974. <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
  975. <ul class="toc_section">
  976. <li>
  977. <span class="toc_kind_header">controls</span>
  978. <ul class="toc_section">
  979. <li
  980. ><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
  981. </ul>
  982. </li>
  983. <li>
  984. <span class="toc_kind_header">dynamic</span>
  985. <ul class="toc_section">
  986. <li
  987. ><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
  988. </ul>
  989. </li>
  990. </ul> <!-- toc_section -->
  991. </li>
  992. <li>
  993. <span class="toc_section_header"><a href="#section_sync">sync</a></span>
  994. <ul class="toc_section">
  995. <li>
  996. <span class="toc_kind_header">dynamic</span>
  997. <ul class="toc_section">
  998. <li
  999. ><a href="#dynamic_android.sync.frameNumber">android.sync.frameNumber</a></li>
  1000. </ul>
  1001. </li>
  1002. <li>
  1003. <span class="toc_kind_header">static</span>
  1004. <ul class="toc_section">
  1005. <li
  1006. ><a href="#static_android.sync.maxLatency">android.sync.maxLatency</a></li>
  1007. </ul>
  1008. </li>
  1009. </ul> <!-- toc_section -->
  1010. </li>
  1011. </ul>
  1012. <h1>Properties</h1>
  1013. <table class="properties">
  1014. <thead class="thead_dummy">
  1015. <tr>
  1016. <th class="th_name">Property Name</th>
  1017. <th class="th_type">Type</th>
  1018. <th class="th_description">Description</th>
  1019. <th class="th_units">Units</th>
  1020. <th class="th_range">Range</th>
  1021. <th class="th_tags">Tags</th>
  1022. </tr>
  1023. </thead> <!-- so that the first occurrence of thead is not
  1024. above the first occurrence of tr -->
  1025. <!-- <namespace name="android"> -->
  1026. <tr><td colspan="6" id="section_colorCorrection" class="section">colorCorrection</td></tr>
  1027. <tr><td colspan="6" class="kind">controls</td></tr>
  1028. <thead class="entries_header">
  1029. <tr>
  1030. <th class="th_name">Property Name</th>
  1031. <th class="th_type">Type</th>
  1032. <th class="th_description">Description</th>
  1033. <th class="th_units">Units</th>
  1034. <th class="th_range">Range</th>
  1035. <th class="th_tags">Tags</th>
  1036. </tr>
  1037. </thead>
  1038. <tbody>
  1039. <tr class="entry" id="controls_android.colorCorrection.mode">
  1040. <td class="entry_name
  1041. " rowspan="3">
  1042. android.<wbr/>color<wbr/>Correction.<wbr/>mode
  1043. </td>
  1044. <td class="entry_type">
  1045. <span class="entry_type_name entry_type_name_enum">byte</span>
  1046. <span class="entry_type_visibility"> [public]</span>
  1047. <span class="entry_type_hwlevel">[full] </span>
  1048. <ul class="entry_type_enum">
  1049. <li>
  1050. <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
  1051. <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
  1052. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
  1053. <p>All advanced white balance adjustments (not specified
  1054. by our white balance pipeline) must be disabled.<wbr/></p>
  1055. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1056. TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
  1057. this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
  1058. </li>
  1059. <li>
  1060. <span class="entry_type_enum_name">FAST</span>
  1061. <span class="entry_type_enum_notes"><p>Color correction processing must not slow down
  1062. capture rate relative to sensor raw output.<wbr/></p>
  1063. <p>Advanced white balance adjustments above and beyond
  1064. the specified white balance pipeline may be applied.<wbr/></p>
  1065. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1066. the camera device uses the last frame's AWB values
  1067. (or defaults if AWB has never been run).<wbr/></p></span>
  1068. </li>
  1069. <li>
  1070. <span class="entry_type_enum_name">HIGH_QUALITY</span>
  1071. <span class="entry_type_enum_notes"><p>Color correction processing operates at improved
  1072. quality but reduced capture rate (relative to sensor raw
  1073. output).<wbr/></p>
  1074. <p>Advanced white balance adjustments above and beyond
  1075. the specified white balance pipeline may be applied.<wbr/></p>
  1076. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1077. the camera device uses the last frame's AWB values
  1078. (or defaults if AWB has never been run).<wbr/></p></span>
  1079. </li>
  1080. </ul>
  1081. </td> <!-- entry_type -->
  1082. <td class="entry_description">
  1083. <p>The mode control selects how the image data is converted from the
  1084. sensor's native color into linear sRGB color.<wbr/></p>
  1085. </td>
  1086. <td class="entry_units">
  1087. </td>
  1088. <td class="entry_range">
  1089. </td>
  1090. <td class="entry_tags">
  1091. </td>
  1092. </tr>
  1093. <tr class="entries_header">
  1094. <th class="th_details" colspan="5">Details</th>
  1095. </tr>
  1096. <tr class="entry_cont">
  1097. <td class="entry_details" colspan="5">
  1098. <p>When auto-white balance (AWB) is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
  1099. control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
  1100. application controls how the color mapping is performed.<wbr/></p>
  1101. <p>We define the expected processing pipeline below.<wbr/> For consistency
  1102. across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1103. <p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
  1104. do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
  1105. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
  1106. camera device (in the results) and be roughly correct.<wbr/></p>
  1107. <p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
  1108. FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
  1109. as what was produced by the camera device in the earlier frame.<wbr/></p>
  1110. <p>The expected processing pipeline is as follows:</p>
  1111. <p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
  1112. <p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
  1113. gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
  1114. matrix (applied after demosaic).<wbr/></p>
  1115. <p>The 4-channel white-balance gains are defined as:</p>
  1116. <pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
  1117. </code></pre>
  1118. <p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
  1119. output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
  1120. These may be identical for a given camera device implementation; if
  1121. the camera device does not support a separate gain for even/<wbr/>odd green
  1122. channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
  1123. <code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
  1124. <p>The matrices for color transforms are defined as a 9-entry vector:</p>
  1125. <pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
  1126. </code></pre>
  1127. <p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
  1128. to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
  1129. <p>with colors as follows:</p>
  1130. <pre><code>r' = I0r + I1g + I2b
  1131. g' = I3r + I4g + I5b
  1132. b' = I6r + I7g + I8b
  1133. </code></pre>
  1134. <p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
  1135. values are clipped to fit within the range.<wbr/></p>
  1136. </td>
  1137. </tr>
  1138. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1139. <!-- end of entry -->
  1140. <tr class="entry" id="controls_android.colorCorrection.transform">
  1141. <td class="entry_name
  1142. " rowspan="3">
  1143. android.<wbr/>color<wbr/>Correction.<wbr/>transform
  1144. </td>
  1145. <td class="entry_type">
  1146. <span class="entry_type_name">rational</span>
  1147. <span class="entry_type_container">x</span>
  1148. <span class="entry_type_array">
  1149. 3 x 3
  1150. </span>
  1151. <span class="entry_type_visibility"> [public as colorSpaceTransform]</span>
  1152. <span class="entry_type_hwlevel">[full] </span>
  1153. <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
  1154. </td> <!-- entry_type -->
  1155. <td class="entry_description">
  1156. <p>A color transform matrix to use to transform
  1157. from sensor RGB color space to output linear sRGB color space.<wbr/></p>
  1158. </td>
  1159. <td class="entry_units">
  1160. Unitless scale factors
  1161. </td>
  1162. <td class="entry_range">
  1163. </td>
  1164. <td class="entry_tags">
  1165. </td>
  1166. </tr>
  1167. <tr class="entries_header">
  1168. <th class="th_details" colspan="5">Details</th>
  1169. </tr>
  1170. <tr class="entry_cont">
  1171. <td class="entry_details" colspan="5">
  1172. <p>This matrix is either set by the camera device when the request
  1173. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
  1174. directly by the application in the request when the
  1175. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1176. <p>In the latter case,<wbr/> the camera device may round the matrix to account
  1177. for precision issues; the final rounded matrix should be reported back
  1178. in this matrix result metadata.<wbr/> The transform should keep the magnitude
  1179. of the output color values within <code>[0,<wbr/> 1.<wbr/>0]</code> (assuming input color
  1180. values is within the normalized range <code>[0,<wbr/> 1.<wbr/>0]</code>),<wbr/> or clipping may occur.<wbr/></p>
  1181. </td>
  1182. </tr>
  1183. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1184. <!-- end of entry -->
  1185. <tr class="entry" id="controls_android.colorCorrection.gains">
  1186. <td class="entry_name
  1187. " rowspan="5">
  1188. android.<wbr/>color<wbr/>Correction.<wbr/>gains
  1189. </td>
  1190. <td class="entry_type">
  1191. <span class="entry_type_name">float</span>
  1192. <span class="entry_type_container">x</span>
  1193. <span class="entry_type_array">
  1194. 4
  1195. </span>
  1196. <span class="entry_type_visibility"> [public as rggbChannelVector]</span>
  1197. <span class="entry_type_hwlevel">[full] </span>
  1198. <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
  1199. </td> <!-- entry_type -->
  1200. <td class="entry_description">
  1201. <p>Gains applying to Bayer raw color channels for
  1202. white-balance.<wbr/></p>
  1203. </td>
  1204. <td class="entry_units">
  1205. Unitless gain factors
  1206. </td>
  1207. <td class="entry_range">
  1208. </td>
  1209. <td class="entry_tags">
  1210. </td>
  1211. </tr>
  1212. <tr class="entries_header">
  1213. <th class="th_details" colspan="5">Details</th>
  1214. </tr>
  1215. <tr class="entry_cont">
  1216. <td class="entry_details" colspan="5">
  1217. <p>These per-channel gains are either set by the camera device
  1218. when the request <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not
  1219. TRANSFORM_<wbr/>MATRIX,<wbr/> or directly by the application in the
  1220. request when the <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is
  1221. TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1222. <p>The gains in the result metadata are the gains actually
  1223. applied by the camera device to the current frame.<wbr/></p>
  1224. </td>
  1225. </tr>
  1226. <tr class="entries_header">
  1227. <th class="th_details" colspan="5">HAL Implementation Details</th>
  1228. </tr>
  1229. <tr class="entry_cont">
  1230. <td class="entry_details" colspan="5">
  1231. <p>The 4-channel white-balance gains are defined in
  1232. the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
  1233. for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
  1234. is the gain for green pixels on the odd rows.<wbr/></p>
  1235. <p>If a HAL does not support a separate gain for even/<wbr/>odd green
  1236. channels,<wbr/> it must use the <code>G_<wbr/>even</code> value,<wbr/> and write
  1237. <code>G_<wbr/>odd</code> equal to <code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
  1238. </td>
  1239. </tr>
  1240. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1241. <!-- end of entry -->
  1242. <tr class="entry" id="controls_android.colorCorrection.aberrationMode">
  1243. <td class="entry_name
  1244. " rowspan="3">
  1245. android.<wbr/>color<wbr/>Correction.<wbr/>aberration<wbr/>Mode
  1246. </td>
  1247. <td class="entry_type">
  1248. <span class="entry_type_name entry_type_name_enum">byte</span>
  1249. <span class="entry_type_visibility"> [public]</span>
  1250. <span class="entry_type_hwlevel">[legacy] </span>
  1251. <ul class="entry_type_enum">
  1252. <li>
  1253. <span class="entry_type_enum_name">OFF</span>
  1254. <span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
  1255. </li>
  1256. <li>
  1257. <span class="entry_type_enum_name">FAST</span>
  1258. <span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
  1259. relative to sensor raw output.<wbr/></p></span>
  1260. </li>
  1261. <li>
  1262. <span class="entry_type_enum_name">HIGH_QUALITY</span>
  1263. <span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but reduced
  1264. capture rate (relative to sensor raw output).<wbr/></p></span>
  1265. </li>
  1266. </ul>
  1267. </td> <!-- entry_type -->
  1268. <td class="entry_description">
  1269. <p>Mode of operation for the chromatic aberration correction algorithm.<wbr/></p>
  1270. </td>
  1271. <td class="entry_units">
  1272. </td>
  1273. <td class="entry_range">
  1274. <p><a href="#static_android.colorCorrection.availableAberrationModes">android.<wbr/>color<wbr/>Correction.<wbr/>available<wbr/>Aberration<wbr/>Modes</a></p>
  1275. </td>
  1276. <td class="entry_tags">
  1277. </td>
  1278. </tr>
  1279. <tr class="entries_header">
  1280. <th class="th_details" colspan="5">Details</th>
  1281. </tr>
  1282. <tr class="entry_cont">
  1283. <td class="entry_details" colspan="5">
  1284. <p>Chromatic (color) aberration is caused by the fact that different wavelengths of light
  1285. can not focus on the same point after exiting from the lens.<wbr/> This metadata defines
  1286. the high level control of chromatic aberration correction algorithm,<wbr/> which aims to
  1287. minimize the chromatic artifacts that may occur along the object boundaries in an
  1288. image.<wbr/></p>
  1289. <p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean that camera device determined aberration
  1290. correction will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device will
  1291. use the highest-quality aberration correction algorithms,<wbr/> even if it slows down
  1292. capture rate.<wbr/> FAST means the camera device will not slow down capture rate when
  1293. applying aberration correction.<wbr/></p>
  1294. <p>LEGACY devices will always be in FAST mode.<wbr/></p>
  1295. </td>
  1296. </tr>
  1297. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1298. <!-- end of entry -->
  1299. <!-- end of kind -->
  1300. </tbody>
  1301. <tr><td colspan="6" class="kind">dynamic</td></tr>
  1302. <thead class="entries_header">
  1303. <tr>
  1304. <th class="th_name">Property Name</th>
  1305. <th class="th_type">Type</th>
  1306. <th class="th_description">Description</th>
  1307. <th class="th_units">Units</th>
  1308. <th class="th_range">Range</th>
  1309. <th class="th_tags">Tags</th>
  1310. </tr>
  1311. </thead>
  1312. <tbody>
  1313. <tr class="entry" id="dynamic_android.colorCorrection.mode">
  1314. <td class="entry_name
  1315. " rowspan="3">
  1316. android.<wbr/>color<wbr/>Correction.<wbr/>mode
  1317. </td>
  1318. <td class="entry_type">
  1319. <span class="entry_type_name entry_type_name_enum">byte</span>
  1320. <span class="entry_type_visibility"> [public]</span>
  1321. <span class="entry_type_hwlevel">[full] </span>
  1322. <ul class="entry_type_enum">
  1323. <li>
  1324. <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
  1325. <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
  1326. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
  1327. <p>All advanced white balance adjustments (not specified
  1328. by our white balance pipeline) must be disabled.<wbr/></p>
  1329. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1330. TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
  1331. this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
  1332. </li>
  1333. <li>
  1334. <span class="entry_type_enum_name">FAST</span>
  1335. <span class="entry_type_enum_notes"><p>Color correction processing must not slow down
  1336. capture rate relative to sensor raw output.<wbr/></p>
  1337. <p>Advanced white balance adjustments above and beyond
  1338. the specified white balance pipeline may be applied.<wbr/></p>
  1339. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1340. the camera device uses the last frame's AWB values
  1341. (or defaults if AWB has never been run).<wbr/></p></span>
  1342. </li>
  1343. <li>
  1344. <span class="entry_type_enum_name">HIGH_QUALITY</span>
  1345. <span class="entry_type_enum_notes"><p>Color correction processing operates at improved
  1346. quality but reduced capture rate (relative to sensor raw
  1347. output).<wbr/></p>
  1348. <p>Advanced white balance adjustments above and beyond
  1349. the specified white balance pipeline may be applied.<wbr/></p>
  1350. <p>If AWB is enabled with <code><a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> != OFF</code>,<wbr/> then
  1351. the camera device uses the last frame's AWB values
  1352. (or defaults if AWB has never been run).<wbr/></p></span>
  1353. </li>
  1354. </ul>
  1355. </td> <!-- entry_type -->
  1356. <td class="entry_description">
  1357. <p>The mode control selects how the image data is converted from the
  1358. sensor's native color into linear sRGB color.<wbr/></p>
  1359. </td>
  1360. <td class="entry_units">
  1361. </td>
  1362. <td class="entry_range">
  1363. </td>
  1364. <td class="entry_tags">
  1365. </td>
  1366. </tr>
  1367. <tr class="entries_header">
  1368. <th class="th_details" colspan="5">Details</th>
  1369. </tr>
  1370. <tr class="entry_cont">
  1371. <td class="entry_details" colspan="5">
  1372. <p>When auto-white balance (AWB) is enabled with <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> this
  1373. control is overridden by the AWB routine.<wbr/> When AWB is disabled,<wbr/> the
  1374. application controls how the color mapping is performed.<wbr/></p>
  1375. <p>We define the expected processing pipeline below.<wbr/> For consistency
  1376. across devices,<wbr/> this is always the case with TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1377. <p>When either FULL or HIGH_<wbr/>QUALITY is used,<wbr/> the camera device may
  1378. do additional processing but <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
  1379. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> will still be provided by the
  1380. camera device (in the results) and be roughly correct.<wbr/></p>
  1381. <p>Switching to TRANSFORM_<wbr/>MATRIX and using the data provided from
  1382. FAST or HIGH_<wbr/>QUALITY will yield a picture with the same white point
  1383. as what was produced by the camera device in the earlier frame.<wbr/></p>
  1384. <p>The expected processing pipeline is as follows:</p>
  1385. <p><img alt="White balance processing pipeline" src="images/camera2/metadata/android.colorCorrection.mode/processing_pipeline.png"/></p>
  1386. <p>The white balance is encoded by two values,<wbr/> a 4-channel white-balance
  1387. gain vector (applied in the Bayer domain),<wbr/> and a 3x3 color transform
  1388. matrix (applied after demosaic).<wbr/></p>
  1389. <p>The 4-channel white-balance gains are defined as:</p>
  1390. <pre><code><a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> = [ R G_<wbr/>even G_<wbr/>odd B ]
  1391. </code></pre>
  1392. <p>where <code>G_<wbr/>even</code> is the gain for green pixels on even rows of the
  1393. output,<wbr/> and <code>G_<wbr/>odd</code> is the gain for green pixels on the odd rows.<wbr/>
  1394. These may be identical for a given camera device implementation; if
  1395. the camera device does not support a separate gain for even/<wbr/>odd green
  1396. channels,<wbr/> it will use the <code>G_<wbr/>even</code> value,<wbr/> and write <code>G_<wbr/>odd</code> equal to
  1397. <code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
  1398. <p>The matrices for color transforms are defined as a 9-entry vector:</p>
  1399. <pre><code><a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> = [ I0 I1 I2 I3 I4 I5 I6 I7 I8 ]
  1400. </code></pre>
  1401. <p>which define a transform from input sensor colors,<wbr/> <code>P_<wbr/>in = [ r g b ]</code>,<wbr/>
  1402. to output linear sRGB,<wbr/> <code>P_<wbr/>out = [ r' g' b' ]</code>,<wbr/></p>
  1403. <p>with colors as follows:</p>
  1404. <pre><code>r' = I0r + I1g + I2b
  1405. g' = I3r + I4g + I5b
  1406. b' = I6r + I7g + I8b
  1407. </code></pre>
  1408. <p>Both the input and output value ranges must match.<wbr/> Overflow/<wbr/>underflow
  1409. values are clipped to fit within the range.<wbr/></p>
  1410. </td>
  1411. </tr>
  1412. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1413. <!-- end of entry -->
  1414. <tr class="entry" id="dynamic_android.colorCorrection.transform">
  1415. <td class="entry_name
  1416. " rowspan="3">
  1417. android.<wbr/>color<wbr/>Correction.<wbr/>transform
  1418. </td>
  1419. <td class="entry_type">
  1420. <span class="entry_type_name">rational</span>
  1421. <span class="entry_type_container">x</span>
  1422. <span class="entry_type_array">
  1423. 3 x 3
  1424. </span>
  1425. <span class="entry_type_visibility"> [public as colorSpaceTransform]</span>
  1426. <span class="entry_type_hwlevel">[full] </span>
  1427. <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
  1428. </td> <!-- entry_type -->
  1429. <td class="entry_description">
  1430. <p>A color transform matrix to use to transform
  1431. from sensor RGB color space to output linear sRGB color space.<wbr/></p>
  1432. </td>
  1433. <td class="entry_units">
  1434. Unitless scale factors
  1435. </td>
  1436. <td class="entry_range">
  1437. </td>
  1438. <td class="entry_tags">
  1439. </td>
  1440. </tr>
  1441. <tr class="entries_header">
  1442. <th class="th_details" colspan="5">Details</th>
  1443. </tr>
  1444. <tr class="entry_cont">
  1445. <td class="entry_details" colspan="5">
  1446. <p>This matrix is either set by the camera device when the request
  1447. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
  1448. directly by the application in the request when the
  1449. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1450. <p>In the latter case,<wbr/> the camera device may round the matrix to account
  1451. for precision issues; the final rounded matrix should be reported back
  1452. in this matrix result metadata.<wbr/> The transform should keep the magnitude
  1453. of the output color values within <code>[0,<wbr/> 1.<wbr/>0]</code> (assuming input color
  1454. values is within the normalized range <code>[0,<wbr/> 1.<wbr/>0]</code>),<wbr/> or clipping may occur.<wbr/></p>
  1455. </td>
  1456. </tr>
  1457. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1458. <!-- end of entry -->
  1459. <tr class="entry" id="dynamic_android.colorCorrection.gains">
  1460. <td class="entry_name
  1461. " rowspan="5">
  1462. android.<wbr/>color<wbr/>Correction.<wbr/>gains
  1463. </td>
  1464. <td class="entry_type">
  1465. <span class="entry_type_name">float</span>
  1466. <span class="entry_type_container">x</span>
  1467. <span class="entry_type_array">
  1468. 4
  1469. </span>
  1470. <span class="entry_type_visibility"> [public as rggbChannelVector]</span>
  1471. <span class="entry_type_hwlevel">[full] </span>
  1472. <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
  1473. </td> <!-- entry_type -->
  1474. <td class="entry_description">
  1475. <p>Gains applying to Bayer raw color channels for
  1476. white-balance.<wbr/></p>
  1477. </td>
  1478. <td class="entry_units">
  1479. Unitless gain factors
  1480. </td>
  1481. <td class="entry_range">
  1482. </td>
  1483. <td class="entry_tags">
  1484. </td>
  1485. </tr>
  1486. <tr class="entries_header">
  1487. <th class="th_details" colspan="5">Details</th>
  1488. </tr>
  1489. <tr class="entry_cont">
  1490. <td class="entry_details" colspan="5">
  1491. <p>These per-channel gains are either set by the camera device
  1492. when the request <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not
  1493. TRANSFORM_<wbr/>MATRIX,<wbr/> or directly by the application in the
  1494. request when the <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is
  1495. TRANSFORM_<wbr/>MATRIX.<wbr/></p>
  1496. <p>The gains in the result metadata are the gains actually
  1497. applied by the camera device to the current frame.<wbr/></p>
  1498. </td>
  1499. </tr>
  1500. <tr class="entries_header">
  1501. <th class="th_details" colspan="5">HAL Implementation Details</th>
  1502. </tr>
  1503. <tr class="entry_cont">
  1504. <td class="entry_details" colspan="5">
  1505. <p>The 4-channel white-balance gains are defined in
  1506. the order of <code>[R G_<wbr/>even G_<wbr/>odd B]</code>,<wbr/> where <code>G_<wbr/>even</code> is the gain
  1507. for green pixels on even rows of the output,<wbr/> and <code>G_<wbr/>odd</code>
  1508. is the gain for green pixels on the odd rows.<wbr/></p>
  1509. <p>If a HAL does not support a separate gain for even/<wbr/>odd green
  1510. channels,<wbr/> it must use the <code>G_<wbr/>even</code> value,<wbr/> and write
  1511. <code>G_<wbr/>odd</code> equal to <code>G_<wbr/>even</code> in the output result metadata.<wbr/></p>
  1512. </td>
  1513. </tr>
  1514. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1515. <!-- end of entry -->
  1516. <tr class="entry" id="dynamic_android.colorCorrection.aberrationMode">
  1517. <td class="entry_name
  1518. " rowspan="3">
  1519. android.<wbr/>color<wbr/>Correction.<wbr/>aberration<wbr/>Mode
  1520. </td>
  1521. <td class="entry_type">
  1522. <span class="entry_type_name entry_type_name_enum">byte</span>
  1523. <span class="entry_type_visibility"> [public]</span>
  1524. <span class="entry_type_hwlevel">[legacy] </span>
  1525. <ul class="entry_type_enum">
  1526. <li>
  1527. <span class="entry_type_enum_name">OFF</span>
  1528. <span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
  1529. </li>
  1530. <li>
  1531. <span class="entry_type_enum_name">FAST</span>
  1532. <span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
  1533. relative to sensor raw output.<wbr/></p></span>
  1534. </li>
  1535. <li>
  1536. <span class="entry_type_enum_name">HIGH_QUALITY</span>
  1537. <span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but reduced
  1538. capture rate (relative to sensor raw output).<wbr/></p></span>
  1539. </li>
  1540. </ul>
  1541. </td> <!-- entry_type -->
  1542. <td class="entry_description">
  1543. <p>Mode of operation for the chromatic aberration correction algorithm.<wbr/></p>
  1544. </td>
  1545. <td class="entry_units">
  1546. </td>
  1547. <td class="entry_range">
  1548. <p><a href="#static_android.colorCorrection.availableAberrationModes">android.<wbr/>color<wbr/>Correction.<wbr/>available<wbr/>Aberration<wbr/>Modes</a></p>
  1549. </td>
  1550. <td class="entry_tags">
  1551. </td>
  1552. </tr>
  1553. <tr class="entries_header">
  1554. <th class="th_details" colspan="5">Details</th>
  1555. </tr>
  1556. <tr class="entry_cont">
  1557. <td class="entry_details" colspan="5">
  1558. <p>Chromatic (color) aberration is caused by the fact that different wavelengths of light
  1559. can not focus on the same point after exiting from the lens.<wbr/> This metadata defines
  1560. the high level control of chromatic aberration correction algorithm,<wbr/> which aims to
  1561. minimize the chromatic artifacts that may occur along the object boundaries in an
  1562. image.<wbr/></p>
  1563. <p>FAST/<wbr/>HIGH_<wbr/>QUALITY both mean that camera device determined aberration
  1564. correction will be applied.<wbr/> HIGH_<wbr/>QUALITY mode indicates that the camera device will
  1565. use the highest-quality aberration correction algorithms,<wbr/> even if it slows down
  1566. capture rate.<wbr/> FAST means the camera device will not slow down capture rate when
  1567. applying aberration correction.<wbr/></p>
  1568. <p>LEGACY devices will always be in FAST mode.<wbr/></p>
  1569. </td>
  1570. </tr>
  1571. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1572. <!-- end of entry -->
  1573. <!-- end of kind -->
  1574. </tbody>
  1575. <tr><td colspan="6" class="kind">static</td></tr>
  1576. <thead class="entries_header">
  1577. <tr>
  1578. <th class="th_name">Property Name</th>
  1579. <th class="th_type">Type</th>
  1580. <th class="th_description">Description</th>
  1581. <th class="th_units">Units</th>
  1582. <th class="th_range">Range</th>
  1583. <th class="th_tags">Tags</th>
  1584. </tr>
  1585. </thead>
  1586. <tbody>
  1587. <tr class="entry" id="static_android.colorCorrection.availableAberrationModes">
  1588. <td class="entry_name
  1589. " rowspan="3">
  1590. android.<wbr/>color<wbr/>Correction.<wbr/>available<wbr/>Aberration<wbr/>Modes
  1591. </td>
  1592. <td class="entry_type">
  1593. <span class="entry_type_name">byte</span>
  1594. <span class="entry_type_container">x</span>
  1595. <span class="entry_type_array">
  1596. n
  1597. </span>
  1598. <span class="entry_type_visibility"> [public as enumList]</span>
  1599. <span class="entry_type_hwlevel">[legacy] </span>
  1600. <div class="entry_type_notes">list of enums</div>
  1601. </td> <!-- entry_type -->
  1602. <td class="entry_description">
  1603. <p>List of aberration correction modes for <a href="#controls_android.colorCorrection.aberrationMode">android.<wbr/>color<wbr/>Correction.<wbr/>aberration<wbr/>Mode</a> that are
  1604. supported by this camera device.<wbr/></p>
  1605. </td>
  1606. <td class="entry_units">
  1607. </td>
  1608. <td class="entry_range">
  1609. <p>Any value listed in <a href="#controls_android.colorCorrection.aberrationMode">android.<wbr/>color<wbr/>Correction.<wbr/>aberration<wbr/>Mode</a></p>
  1610. </td>
  1611. <td class="entry_tags">
  1612. <ul class="entry_tags">
  1613. <li><a href="#tag_V1">V1</a></li>
  1614. </ul>
  1615. </td>
  1616. </tr>
  1617. <tr class="entries_header">
  1618. <th class="th_details" colspan="5">Details</th>
  1619. </tr>
  1620. <tr class="entry_cont">
  1621. <td class="entry_details" colspan="5">
  1622. <p>This key lists the valid modes for <a href="#controls_android.colorCorrection.aberrationMode">android.<wbr/>color<wbr/>Correction.<wbr/>aberration<wbr/>Mode</a>.<wbr/> If no
  1623. aberration correction modes are available for a device,<wbr/> this list will solely include
  1624. OFF mode.<wbr/></p>
  1625. <p>For FULL capability device (<a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a> <code>==</code> FULL),<wbr/> OFF is
  1626. always included.<wbr/></p>
  1627. <p>LEGACY devices will always only support FAST mode.<wbr/></p>
  1628. </td>
  1629. </tr>
  1630. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1631. <!-- end of entry -->
  1632. <!-- end of kind -->
  1633. </tbody>
  1634. <!-- end of section -->
  1635. <tr><td colspan="6" id="section_control" class="section">control</td></tr>
  1636. <tr><td colspan="6" class="kind">controls</td></tr>
  1637. <thead class="entries_header">
  1638. <tr>
  1639. <th class="th_name">Property Name</th>
  1640. <th class="th_type">Type</th>
  1641. <th class="th_description">Description</th>
  1642. <th class="th_units">Units</th>
  1643. <th class="th_range">Range</th>
  1644. <th class="th_tags">Tags</th>
  1645. </tr>
  1646. </thead>
  1647. <tbody>
  1648. <tr class="entry" id="controls_android.control.aeAntibandingMode">
  1649. <td class="entry_name
  1650. " rowspan="5">
  1651. android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode
  1652. </td>
  1653. <td class="entry_type">
  1654. <span class="entry_type_name entry_type_name_enum">byte</span>
  1655. <span class="entry_type_visibility"> [public]</span>
  1656. <span class="entry_type_hwlevel">[legacy] </span>
  1657. <ul class="entry_type_enum">
  1658. <li>
  1659. <span class="entry_type_enum_name">OFF</span>
  1660. <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
  1661. avoid banding problems.<wbr/></p></span>
  1662. </li>
  1663. <li>
  1664. <span class="entry_type_enum_name">50HZ</span>
  1665. <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
  1666. avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
  1667. </li>
  1668. <li>
  1669. <span class="entry_type_enum_name">60HZ</span>
  1670. <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
  1671. avoid banding problems with 60Hz illumination
  1672. sources.<wbr/></p></span>
  1673. </li>
  1674. <li>
  1675. <span class="entry_type_enum_name">AUTO</span>
  1676. <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
  1677. antibanding routine to the current illumination
  1678. conditions.<wbr/> This is the default.<wbr/></p></span>
  1679. </li>
  1680. </ul>
  1681. </td> <!-- entry_type -->
  1682. <td class="entry_description">
  1683. <p>The desired setting for the camera device's auto-exposure
  1684. algorithm's antibanding compensation.<wbr/></p>
  1685. </td>
  1686. <td class="entry_units">
  1687. </td>
  1688. <td class="entry_range">
  1689. <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
  1690. </td>
  1691. <td class="entry_tags">
  1692. <ul class="entry_tags">
  1693. <li><a href="#tag_BC">BC</a></li>
  1694. </ul>
  1695. </td>
  1696. </tr>
  1697. <tr class="entries_header">
  1698. <th class="th_details" colspan="5">Details</th>
  1699. </tr>
  1700. <tr class="entry_cont">
  1701. <td class="entry_details" colspan="5">
  1702. <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
  1703. lights,<wbr/> flicker at the rate of the power supply frequency
  1704. (60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
  1705. typically not noticeable to a person,<wbr/> it can be visible to
  1706. a camera device.<wbr/> If a camera sets its exposure time to the
  1707. wrong value,<wbr/> the flicker may become visible in the
  1708. viewfinder as flicker or in a final captured image,<wbr/> as a
  1709. set of variable-brightness bands across the image.<wbr/></p>
  1710. <p>Therefore,<wbr/> the auto-exposure routines of camera devices
  1711. include antibanding routines that ensure that the chosen
  1712. exposure value will not cause such banding.<wbr/> The choice of
  1713. exposure time depends on the rate of flicker,<wbr/> which the
  1714. camera device can detect automatically,<wbr/> or the expected
  1715. rate can be selected by the application using this
  1716. control.<wbr/></p>
  1717. <p>A given camera device may not support all of the possible
  1718. options for the antibanding mode.<wbr/> The
  1719. <a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
  1720. the available modes for a given camera device.<wbr/></p>
  1721. <p>The default mode is AUTO,<wbr/> which is supported by all
  1722. camera devices.<wbr/></p>
  1723. <p>If manual exposure control is enabled (by setting
  1724. <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
  1725. then this setting has no effect,<wbr/> and the application must
  1726. ensure it selects exposure times that do not cause banding
  1727. issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
  1728. the application in this.<wbr/></p>
  1729. </td>
  1730. </tr>
  1731. <tr class="entries_header">
  1732. <th class="th_details" colspan="5">HAL Implementation Details</th>
  1733. </tr>
  1734. <tr class="entry_cont">
  1735. <td class="entry_details" colspan="5">
  1736. <p>For all capture request templates,<wbr/> this field must be set
  1737. to AUTO.<wbr/> AUTO is the only mode that must supported;
  1738. OFF,<wbr/> 50HZ,<wbr/> 60HZ are all optional.<wbr/></p>
  1739. <p>If manual exposure control is enabled (by setting
  1740. <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> or <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> to OFF),<wbr/>
  1741. then the exposure values provided by the application must not be
  1742. adjusted for antibanding.<wbr/></p>
  1743. </td>
  1744. </tr>
  1745. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1746. <!-- end of entry -->
  1747. <tr class="entry" id="controls_android.control.aeExposureCompensation">
  1748. <td class="entry_name
  1749. " rowspan="3">
  1750. android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
  1751. </td>
  1752. <td class="entry_type">
  1753. <span class="entry_type_name">int32</span>
  1754. <span class="entry_type_visibility"> [public]</span>
  1755. <span class="entry_type_hwlevel">[legacy] </span>
  1756. </td> <!-- entry_type -->
  1757. <td class="entry_description">
  1758. <p>Adjustment to auto-exposure (AE) target image
  1759. brightness.<wbr/></p>
  1760. </td>
  1761. <td class="entry_units">
  1762. Compensation steps
  1763. </td>
  1764. <td class="entry_range">
  1765. <p><a href="#static_android.control.aeCompensationRange">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range</a></p>
  1766. </td>
  1767. <td class="entry_tags">
  1768. <ul class="entry_tags">
  1769. <li><a href="#tag_BC">BC</a></li>
  1770. </ul>
  1771. </td>
  1772. </tr>
  1773. <tr class="entries_header">
  1774. <th class="th_details" colspan="5">Details</th>
  1775. </tr>
  1776. <tr class="entry_cont">
  1777. <td class="entry_details" colspan="5">
  1778. <p>The adjustment is measured as a count of steps,<wbr/> with the
  1779. step size defined by <a href="#static_android.control.aeCompensationStep">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step</a> and the
  1780. allowed range by <a href="#static_android.control.aeCompensationRange">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range</a>.<wbr/></p>
  1781. <p>For example,<wbr/> if the exposure value (EV) step is 0.<wbr/>333,<wbr/> '6'
  1782. will mean an exposure compensation of +2 EV; -3 will mean an
  1783. exposure compensation of -1 EV.<wbr/> One EV represents a doubling
  1784. of image brightness.<wbr/> Note that this control will only be
  1785. effective if <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> <code>!=</code> OFF.<wbr/> This control
  1786. will take effect even when <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> <code>== true</code>.<wbr/></p>
  1787. <p>In the event of exposure compensation value being changed,<wbr/> camera device
  1788. may take several frames to reach the newly requested exposure target.<wbr/>
  1789. During that time,<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> field will be in the SEARCHING
  1790. state.<wbr/> Once the new exposure target is reached,<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> will
  1791. change from SEARCHING to either CONVERGED,<wbr/> LOCKED (if AE lock is enabled),<wbr/> or
  1792. FLASH_<wbr/>REQUIRED (if the scene is too dark for still capture).<wbr/></p>
  1793. </td>
  1794. </tr>
  1795. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1796. <!-- end of entry -->
  1797. <tr class="entry" id="controls_android.control.aeLock">
  1798. <td class="entry_name
  1799. " rowspan="3">
  1800. android.<wbr/>control.<wbr/>ae<wbr/>Lock
  1801. </td>
  1802. <td class="entry_type">
  1803. <span class="entry_type_name entry_type_name_enum">byte</span>
  1804. <span class="entry_type_visibility"> [public as boolean]</span>
  1805. <span class="entry_type_hwlevel">[legacy] </span>
  1806. <ul class="entry_type_enum">
  1807. <li>
  1808. <span class="entry_type_enum_name">OFF</span>
  1809. <span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
  1810. is free to update its parameters.<wbr/></p></span>
  1811. </li>
  1812. <li>
  1813. <span class="entry_type_enum_name">ON</span>
  1814. <span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
  1815. must not update the exposure and sensitivity parameters
  1816. while the lock is active.<wbr/></p>
  1817. <p><a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a> setting changes
  1818. will still take effect while auto-exposure is locked.<wbr/></p>
  1819. <p>Some rare LEGACY devices may not support
  1820. this,<wbr/> in which case the value will always be overridden to OFF.<wbr/></p></span>
  1821. </li>
  1822. </ul>
  1823. </td> <!-- entry_type -->
  1824. <td class="entry_description">
  1825. <p>Whether auto-exposure (AE) is currently locked to its latest
  1826. calculated values.<wbr/></p>
  1827. </td>
  1828. <td class="entry_units">
  1829. </td>
  1830. <td class="entry_range">
  1831. </td>
  1832. <td class="entry_tags">
  1833. <ul class="entry_tags">
  1834. <li><a href="#tag_BC">BC</a></li>
  1835. </ul>
  1836. </td>
  1837. </tr>
  1838. <tr class="entries_header">
  1839. <th class="th_details" colspan="5">Details</th>
  1840. </tr>
  1841. <tr class="entry_cont">
  1842. <td class="entry_details" colspan="5">
  1843. <p>When set to <code>true</code> (ON),<wbr/> the AE algorithm is locked to its latest parameters,<wbr/>
  1844. and will not change exposure settings until the lock is set to <code>false</code> (OFF).<wbr/></p>
  1845. <p>Note that even when AE is locked,<wbr/> the flash may be fired if
  1846. the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/>
  1847. ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
  1848. <p>When <a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a> is changed,<wbr/> even if the AE lock
  1849. is ON,<wbr/> the camera device will still adjust its exposure value.<wbr/></p>
  1850. <p>If AE precapture is triggered (see <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>)
  1851. when AE is already locked,<wbr/> the camera device will not change the exposure time
  1852. (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>) and sensitivity (<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>)
  1853. parameters.<wbr/> The flash may be fired if the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>
  1854. is ON_<wbr/>AUTO_<wbr/>FLASH/<wbr/>ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE and the scene is too dark.<wbr/> If the
  1855. <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> the scene may become overexposed.<wbr/></p>
  1856. <p>Since the camera device has a pipeline of in-flight requests,<wbr/> the settings that
  1857. get locked do not necessarily correspond to the settings that were present in the
  1858. latest capture result received from the camera device,<wbr/> since additional captures
  1859. and AE updates may have occurred even before the result was sent out.<wbr/> If an
  1860. application is switching between automatic and manual control and wishes to eliminate
  1861. any flicker during the switch,<wbr/> the following procedure is recommended:</p>
  1862. <ol>
  1863. <li>Starting in auto-AE mode:</li>
  1864. <li>Lock AE</li>
  1865. <li>Wait for the first result to be output that has the AE locked</li>
  1866. <li>Copy exposure settings from that result into a request,<wbr/> set the request to manual AE</li>
  1867. <li>Submit the capture request,<wbr/> proceed to run manual AE as desired.<wbr/></li>
  1868. </ol>
  1869. <p>See <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE lock related state transition details.<wbr/></p>
  1870. </td>
  1871. </tr>
  1872. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1873. <!-- end of entry -->
  1874. <tr class="entry" id="controls_android.control.aeMode">
  1875. <td class="entry_name
  1876. " rowspan="3">
  1877. android.<wbr/>control.<wbr/>ae<wbr/>Mode
  1878. </td>
  1879. <td class="entry_type">
  1880. <span class="entry_type_name entry_type_name_enum">byte</span>
  1881. <span class="entry_type_visibility"> [public]</span>
  1882. <span class="entry_type_hwlevel">[legacy] </span>
  1883. <ul class="entry_type_enum">
  1884. <li>
  1885. <span class="entry_type_enum_name">OFF</span>
  1886. <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
  1887. <p>The application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1888. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
  1889. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
  1890. device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
  1891. a flash unit for this camera device.<wbr/></p>
  1892. <p>LEGACY devices do not support the OFF mode and will
  1893. override attempts to use this value to ON.<wbr/></p></span>
  1894. </li>
  1895. <li>
  1896. <span class="entry_type_enum_name">ON</span>
  1897. <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
  1898. with no flash control.<wbr/></p>
  1899. <p>The application's values for
  1900. <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1901. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
  1902. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
  1903. application has control over the various
  1904. android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
  1905. </li>
  1906. <li>
  1907. <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
  1908. <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
  1909. the camera's flash unit,<wbr/> firing it in low-light
  1910. conditions.<wbr/></p>
  1911. <p>The flash may be fired during a precapture sequence
  1912. (triggered by <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and
  1913. may be fired for captures for which the
  1914. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
  1915. STILL_<wbr/>CAPTURE</p></span>
  1916. </li>
  1917. <li>
  1918. <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
  1919. <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
  1920. the camera's flash unit,<wbr/> always firing it for still
  1921. captures.<wbr/></p>
  1922. <p>The flash may be fired during a precapture sequence
  1923. (triggered by <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and
  1924. will always be fired for captures for which the
  1925. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
  1926. STILL_<wbr/>CAPTURE</p></span>
  1927. </li>
  1928. <li>
  1929. <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
  1930. <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
  1931. reduction.<wbr/></p>
  1932. <p>If deemed necessary by the camera device,<wbr/> a red eye
  1933. reduction flash will fire during the precapture
  1934. sequence.<wbr/></p></span>
  1935. </li>
  1936. </ul>
  1937. </td> <!-- entry_type -->
  1938. <td class="entry_description">
  1939. <p>The desired mode for the camera device's
  1940. auto-exposure routine.<wbr/></p>
  1941. </td>
  1942. <td class="entry_units">
  1943. </td>
  1944. <td class="entry_range">
  1945. <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
  1946. </td>
  1947. <td class="entry_tags">
  1948. <ul class="entry_tags">
  1949. <li><a href="#tag_BC">BC</a></li>
  1950. </ul>
  1951. </td>
  1952. </tr>
  1953. <tr class="entries_header">
  1954. <th class="th_details" colspan="5">Details</th>
  1955. </tr>
  1956. <tr class="entry_cont">
  1957. <td class="entry_details" colspan="5">
  1958. <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
  1959. AUTO.<wbr/></p>
  1960. <p>When set to any of the ON modes,<wbr/> the camera device's
  1961. auto-exposure routine is enabled,<wbr/> overriding the
  1962. application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
  1963. and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1964. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
  1965. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
  1966. is selected,<wbr/> the camera device's flash unit controls are
  1967. also overridden.<wbr/></p>
  1968. <p>The FLASH modes are only available if the camera device
  1969. has a flash unit (<a href="#static_android.flash.info.available">android.<wbr/>flash.<wbr/>info.<wbr/>available</a> is <code>true</code>).<wbr/></p>
  1970. <p>If flash TORCH mode is desired,<wbr/> this field must be set to
  1971. ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
  1972. <p>When set to any of the ON modes,<wbr/> the values chosen by the
  1973. camera device auto-exposure routine for the overridden
  1974. fields for a given capture will be available in its
  1975. CaptureResult.<wbr/></p>
  1976. </td>
  1977. </tr>
  1978. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1979. <!-- end of entry -->
  1980. <tr class="entry" id="controls_android.control.aeRegions">
  1981. <td class="entry_name
  1982. " rowspan="5">
  1983. android.<wbr/>control.<wbr/>ae<wbr/>Regions
  1984. </td>
  1985. <td class="entry_type">
  1986. <span class="entry_type_name">int32</span>
  1987. <span class="entry_type_container">x</span>
  1988. <span class="entry_type_array">
  1989. 5 x area_count
  1990. </span>
  1991. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  1992. </td> <!-- entry_type -->
  1993. <td class="entry_description">
  1994. <p>List of metering areas to use for auto-exposure adjustment.<wbr/></p>
  1995. </td>
  1996. <td class="entry_units">
  1997. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  1998. </td>
  1999. <td class="entry_range">
  2000. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2001. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2002. </td>
  2003. <td class="entry_tags">
  2004. <ul class="entry_tags">
  2005. <li><a href="#tag_BC">BC</a></li>
  2006. </ul>
  2007. </td>
  2008. </tr>
  2009. <tr class="entries_header">
  2010. <th class="th_details" colspan="5">Details</th>
  2011. </tr>
  2012. <tr class="entry_cont">
  2013. <td class="entry_details" colspan="5">
  2014. <p>Not available if <a href="#static_android.control.maxRegionsAe">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae</a> is 0.<wbr/>
  2015. Otherwise will always be present.<wbr/></p>
  2016. <p>The maximum number of regions supported by the device is determined by the value
  2017. of <a href="#static_android.control.maxRegionsAe">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae</a>.<wbr/></p>
  2018. <p>The coordinate system is based on the active pixel array,<wbr/>
  2019. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2020. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2021. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2022. bottom-right pixel in the active pixel array.<wbr/></p>
  2023. <p>The weight must be within <code>[0,<wbr/> 1000]</code>,<wbr/> and represents a weight
  2024. for every pixel in the area.<wbr/> This means that a large metering area
  2025. with the same weight as a smaller area will have more effect in
  2026. the metering result.<wbr/> Metering areas can partially overlap and the
  2027. camera device will add the weights in the overlap region.<wbr/></p>
  2028. <p>The weights are relative to weights of other exposure metering regions,<wbr/> so if only one
  2029. region is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0
  2030. weight is ignored.<wbr/></p>
  2031. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2032. camera device.<wbr/></p>
  2033. <p>If the metering region is outside the used <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> returned in
  2034. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2035. region and output only the intersection rectangle as the metering region in the result
  2036. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2037. not reported in the result metadata.<wbr/></p>
  2038. </td>
  2039. </tr>
  2040. <tr class="entries_header">
  2041. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2042. </tr>
  2043. <tr class="entry_cont">
  2044. <td class="entry_details" colspan="5">
  2045. <p>The HAL level representation of MeteringRectangle[] is a
  2046. int[5 * area_<wbr/>count].<wbr/>
  2047. Every five elements represent a metering region of
  2048. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2049. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2050. exclusive on xmax and ymax.<wbr/></p>
  2051. </td>
  2052. </tr>
  2053. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2054. <!-- end of entry -->
  2055. <tr class="entry" id="controls_android.control.aeTargetFpsRange">
  2056. <td class="entry_name
  2057. " rowspan="3">
  2058. android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
  2059. </td>
  2060. <td class="entry_type">
  2061. <span class="entry_type_name">int32</span>
  2062. <span class="entry_type_container">x</span>
  2063. <span class="entry_type_array">
  2064. 2
  2065. </span>
  2066. <span class="entry_type_visibility"> [public as rangeInt]</span>
  2067. <span class="entry_type_hwlevel">[legacy] </span>
  2068. </td> <!-- entry_type -->
  2069. <td class="entry_description">
  2070. <p>Range over which the auto-exposure routine can
  2071. adjust the capture frame rate to maintain good
  2072. exposure.<wbr/></p>
  2073. </td>
  2074. <td class="entry_units">
  2075. Frames per second (FPS)
  2076. </td>
  2077. <td class="entry_range">
  2078. <p>Any of the entries in <a href="#static_android.control.aeAvailableTargetFpsRanges">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges</a></p>
  2079. </td>
  2080. <td class="entry_tags">
  2081. <ul class="entry_tags">
  2082. <li><a href="#tag_BC">BC</a></li>
  2083. </ul>
  2084. </td>
  2085. </tr>
  2086. <tr class="entries_header">
  2087. <th class="th_details" colspan="5">Details</th>
  2088. </tr>
  2089. <tr class="entry_cont">
  2090. <td class="entry_details" colspan="5">
  2091. <p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
  2092. manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
  2093. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
  2094. </td>
  2095. </tr>
  2096. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2097. <!-- end of entry -->
  2098. <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
  2099. <td class="entry_name
  2100. " rowspan="3">
  2101. android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
  2102. </td>
  2103. <td class="entry_type">
  2104. <span class="entry_type_name entry_type_name_enum">byte</span>
  2105. <span class="entry_type_visibility"> [public]</span>
  2106. <span class="entry_type_hwlevel">[limited] </span>
  2107. <ul class="entry_type_enum">
  2108. <li>
  2109. <span class="entry_type_enum_name">IDLE</span>
  2110. <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
  2111. </li>
  2112. <li>
  2113. <span class="entry_type_enum_name">START</span>
  2114. <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
  2115. by the camera device.<wbr/></p>
  2116. <p>The exact effect of the precapture trigger depends on
  2117. the current AE mode and state.<wbr/></p></span>
  2118. </li>
  2119. </ul>
  2120. </td> <!-- entry_type -->
  2121. <td class="entry_description">
  2122. <p>Whether the camera device will trigger a precapture
  2123. metering sequence when it processes this request.<wbr/></p>
  2124. </td>
  2125. <td class="entry_units">
  2126. </td>
  2127. <td class="entry_range">
  2128. </td>
  2129. <td class="entry_tags">
  2130. <ul class="entry_tags">
  2131. <li><a href="#tag_BC">BC</a></li>
  2132. </ul>
  2133. </td>
  2134. </tr>
  2135. <tr class="entries_header">
  2136. <th class="th_details" colspan="5">Details</th>
  2137. </tr>
  2138. <tr class="entry_cont">
  2139. <td class="entry_details" colspan="5">
  2140. <p>This entry is normally set to IDLE,<wbr/> or is not
  2141. included at all in the request settings.<wbr/> When included and
  2142. set to START,<wbr/> the camera device will trigger the autoexposure
  2143. precapture metering sequence.<wbr/></p>
  2144. <p>The precapture sequence should triggered before starting a
  2145. high-quality still capture for final metering decisions to
  2146. be made,<wbr/> and for firing pre-capture flash pulses to estimate
  2147. scene brightness and required final capture flash power,<wbr/> when
  2148. the flash is enabled.<wbr/></p>
  2149. <p>Normally,<wbr/> this entry should be set to START for only a
  2150. single request,<wbr/> and the application should wait until the
  2151. sequence completes before starting a new one.<wbr/></p>
  2152. <p>The exact effect of auto-exposure (AE) precapture trigger
  2153. depends on the current AE mode and state; see
  2154. <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture state transition
  2155. details.<wbr/></p>
  2156. <p>On LEGACY-level devices,<wbr/> the precapture trigger is not supported;
  2157. capturing a high-resolution JPEG image will automatically trigger a
  2158. precapture sequence before the high-resolution capture,<wbr/> including
  2159. potentially firing a pre-capture flash.<wbr/></p>
  2160. </td>
  2161. </tr>
  2162. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2163. <!-- end of entry -->
  2164. <tr class="entry" id="controls_android.control.afMode">
  2165. <td class="entry_name
  2166. " rowspan="5">
  2167. android.<wbr/>control.<wbr/>af<wbr/>Mode
  2168. </td>
  2169. <td class="entry_type">
  2170. <span class="entry_type_name entry_type_name_enum">byte</span>
  2171. <span class="entry_type_visibility"> [public]</span>
  2172. <span class="entry_type_hwlevel">[legacy] </span>
  2173. <ul class="entry_type_enum">
  2174. <li>
  2175. <span class="entry_type_enum_name">OFF</span>
  2176. <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
  2177. <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
  2178. application.<wbr/></p></span>
  2179. </li>
  2180. <li>
  2181. <span class="entry_type_enum_name">AUTO</span>
  2182. <span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
  2183. <p>In this mode,<wbr/> the lens does not move unless
  2184. the autofocus trigger action is called.<wbr/> When that trigger
  2185. is activated,<wbr/> AF will transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
  2186. the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
  2187. <p>Always supported if lens is not fixed focus.<wbr/></p>
  2188. <p>Use <a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> to determine if lens
  2189. is fixed-focus.<wbr/></p>
  2190. <p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
  2191. and sets the AF state to INACTIVE.<wbr/></p></span>
  2192. </li>
  2193. <li>
  2194. <span class="entry_type_enum_name">MACRO</span>
  2195. <span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
  2196. <p>In this mode,<wbr/> the lens does not move unless the
  2197. autofocus trigger action is called.<wbr/> When that trigger is
  2198. activated,<wbr/> AF will transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
  2199. the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/> This
  2200. mode is optimized for focusing on objects very close to
  2201. the camera.<wbr/></p>
  2202. <p>When that trigger is activated,<wbr/> AF will transition to
  2203. ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
  2204. NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
  2205. position to default,<wbr/> and sets the AF state to
  2206. INACTIVE.<wbr/></p></span>
  2207. </li>
  2208. <li>
  2209. <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
  2210. <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
  2211. position continually to attempt to provide a
  2212. constantly-in-focus image stream.<wbr/></p>
  2213. <p>The focusing behavior should be suitable for good quality
  2214. video recording; typically this means slower focus
  2215. movement and no overshoots.<wbr/> When the AF trigger is not
  2216. involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
  2217. and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
  2218. states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
  2219. the algorithm should immediately transition into
  2220. AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
  2221. lens position until a cancel AF trigger is received.<wbr/></p>
  2222. <p>Once cancel is received,<wbr/> the algorithm should transition
  2223. back to INACTIVE and resume passive scan.<wbr/> Note that this
  2224. behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
  2225. ongoing PASSIVE_<wbr/>SCAN must immediately be
  2226. canceled.<wbr/></p></span>
  2227. </li>
  2228. <li>
  2229. <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
  2230. <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
  2231. position continually to attempt to provide a
  2232. constantly-in-focus image stream.<wbr/></p>
  2233. <p>The focusing behavior should be suitable for still image
  2234. capture; typically this means focusing as fast as
  2235. possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
  2236. algorithm should start in INACTIVE state,<wbr/> and then
  2237. transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
  2238. appropriate as it attempts to maintain focus.<wbr/> When the AF
  2239. trigger is activated,<wbr/> the algorithm should finish its
  2240. PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
  2241. AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
  2242. lens position until a cancel AF trigger is received.<wbr/></p>
  2243. <p>When the AF cancel trigger is activated,<wbr/> the algorithm
  2244. should transition back to INACTIVE and then act as if it
  2245. has just been started.<wbr/></p></span>
  2246. </li>
  2247. <li>
  2248. <span class="entry_type_enum_name">EDOF</span>
  2249. <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
  2250. <p>The camera device will produce images with an extended
  2251. depth of field automatically; no special focusing
  2252. operations need to be done before taking a picture.<wbr/></p>
  2253. <p>AF triggers are ignored,<wbr/> and the AF state will always be
  2254. INACTIVE.<wbr/></p></span>
  2255. </li>
  2256. </ul>
  2257. </td> <!-- entry_type -->
  2258. <td class="entry_description">
  2259. <p>Whether auto-focus (AF) is currently enabled,<wbr/> and what
  2260. mode it is set to.<wbr/></p>
  2261. </td>
  2262. <td class="entry_units">
  2263. </td>
  2264. <td class="entry_range">
  2265. <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
  2266. </td>
  2267. <td class="entry_tags">
  2268. <ul class="entry_tags">
  2269. <li><a href="#tag_BC">BC</a></li>
  2270. </ul>
  2271. </td>
  2272. </tr>
  2273. <tr class="entries_header">
  2274. <th class="th_details" colspan="5">Details</th>
  2275. </tr>
  2276. <tr class="entry_cont">
  2277. <td class="entry_details" colspan="5">
  2278. <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO and the lens is not fixed focus
  2279. (i.<wbr/>e.<wbr/> <code><a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> &gt; 0</code>).<wbr/></p>
  2280. <p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
  2281. the camera device will report the current AF status in <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a>
  2282. in result metadata.<wbr/></p>
  2283. </td>
  2284. </tr>
  2285. <tr class="entries_header">
  2286. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2287. </tr>
  2288. <tr class="entry_cont">
  2289. <td class="entry_details" colspan="5">
  2290. <p>When afMode is AUTO or MACRO,<wbr/> the lens must not move until an AF trigger is sent in a
  2291. request (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a> <code>==</code> START).<wbr/> After an AF trigger,<wbr/> the afState will end
  2292. up with either FOCUSED_<wbr/>LOCKED or NOT_<wbr/>FOCUSED_<wbr/>LOCKED state (see
  2293. <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for detailed state transitions),<wbr/> which indicates that the lens is
  2294. locked and will not move.<wbr/> If camera movement (e.<wbr/>g.<wbr/> tilting camera) causes the lens to move
  2295. after the lens is locked,<wbr/> the HAL must compensate this movement appropriately such that
  2296. the same focal plane remains in focus.<wbr/></p>
  2297. <p>When afMode is one of the continuous auto focus modes,<wbr/> the HAL is free to start a AF
  2298. scan whenever it's not locked.<wbr/> When the lens is locked after an AF trigger
  2299. (see <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for detailed state transitions),<wbr/> the HAL should maintain the
  2300. same lock behavior as above.<wbr/></p>
  2301. <p>When afMode is OFF,<wbr/> the application controls focus manually.<wbr/> The accuracy of the
  2302. focus distance control depends on the <a href="#static_android.lens.info.focusDistanceCalibration">android.<wbr/>lens.<wbr/>info.<wbr/>focus<wbr/>Distance<wbr/>Calibration</a>.<wbr/>
  2303. However,<wbr/> the lens must not move regardless of the camera movement for any focus distance
  2304. manual control.<wbr/></p>
  2305. <p>To put this in concrete terms,<wbr/> if the camera has lens elements which may move based on
  2306. camera orientation or motion (e.<wbr/>g.<wbr/> due to gravity),<wbr/> then the HAL must drive the lens to
  2307. remain in a fixed position invariant to the camera's orientation or motion,<wbr/> for example,<wbr/>
  2308. by using accelerometer measurements in the lens control logic.<wbr/> This is a typical issue
  2309. that will arise on camera modules with open-loop VCMs.<wbr/></p>
  2310. </td>
  2311. </tr>
  2312. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2313. <!-- end of entry -->
  2314. <tr class="entry" id="controls_android.control.afRegions">
  2315. <td class="entry_name
  2316. " rowspan="5">
  2317. android.<wbr/>control.<wbr/>af<wbr/>Regions
  2318. </td>
  2319. <td class="entry_type">
  2320. <span class="entry_type_name">int32</span>
  2321. <span class="entry_type_container">x</span>
  2322. <span class="entry_type_array">
  2323. 5 x area_count
  2324. </span>
  2325. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  2326. </td> <!-- entry_type -->
  2327. <td class="entry_description">
  2328. <p>List of metering areas to use for auto-focus.<wbr/></p>
  2329. </td>
  2330. <td class="entry_units">
  2331. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  2332. </td>
  2333. <td class="entry_range">
  2334. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2335. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2336. </td>
  2337. <td class="entry_tags">
  2338. <ul class="entry_tags">
  2339. <li><a href="#tag_BC">BC</a></li>
  2340. </ul>
  2341. </td>
  2342. </tr>
  2343. <tr class="entries_header">
  2344. <th class="th_details" colspan="5">Details</th>
  2345. </tr>
  2346. <tr class="entry_cont">
  2347. <td class="entry_details" colspan="5">
  2348. <p>Not available if <a href="#static_android.control.maxRegionsAf">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af</a> is 0.<wbr/>
  2349. Otherwise will always be present.<wbr/></p>
  2350. <p>The maximum number of focus areas supported by the device is determined by the value
  2351. of <a href="#static_android.control.maxRegionsAf">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af</a>.<wbr/></p>
  2352. <p>The coordinate system is based on the active pixel array,<wbr/>
  2353. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2354. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2355. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2356. bottom-right pixel in the active pixel array.<wbr/></p>
  2357. <p>The weight must be within <code>[0,<wbr/> 1000]</code>,<wbr/> and represents a weight
  2358. for every pixel in the area.<wbr/> This means that a large metering area
  2359. with the same weight as a smaller area will have more effect in
  2360. the metering result.<wbr/> Metering areas can partially overlap and the
  2361. camera device will add the weights in the overlap region.<wbr/></p>
  2362. <p>The weights are relative to weights of other metering regions,<wbr/> so if only one region
  2363. is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0 weight is
  2364. ignored.<wbr/></p>
  2365. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2366. camera device.<wbr/></p>
  2367. <p>If the metering region is outside the used <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> returned in
  2368. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2369. region and output only the intersection rectangle as the metering region in the result
  2370. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2371. not reported in the result metadata.<wbr/></p>
  2372. </td>
  2373. </tr>
  2374. <tr class="entries_header">
  2375. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2376. </tr>
  2377. <tr class="entry_cont">
  2378. <td class="entry_details" colspan="5">
  2379. <p>The HAL level representation of MeteringRectangle[] is a
  2380. int[5 * area_<wbr/>count].<wbr/>
  2381. Every five elements represent a metering region of
  2382. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2383. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2384. exclusive on xmax and ymax.<wbr/></p>
  2385. </td>
  2386. </tr>
  2387. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2388. <!-- end of entry -->
  2389. <tr class="entry" id="controls_android.control.afTrigger">
  2390. <td class="entry_name
  2391. " rowspan="3">
  2392. android.<wbr/>control.<wbr/>af<wbr/>Trigger
  2393. </td>
  2394. <td class="entry_type">
  2395. <span class="entry_type_name entry_type_name_enum">byte</span>
  2396. <span class="entry_type_visibility"> [public]</span>
  2397. <span class="entry_type_hwlevel">[legacy] </span>
  2398. <ul class="entry_type_enum">
  2399. <li>
  2400. <span class="entry_type_enum_name">IDLE</span>
  2401. <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
  2402. </li>
  2403. <li>
  2404. <span class="entry_type_enum_name">START</span>
  2405. <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
  2406. </li>
  2407. <li>
  2408. <span class="entry_type_enum_name">CANCEL</span>
  2409. <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
  2410. state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
  2411. </li>
  2412. </ul>
  2413. </td> <!-- entry_type -->
  2414. <td class="entry_description">
  2415. <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
  2416. </td>
  2417. <td class="entry_units">
  2418. </td>
  2419. <td class="entry_range">
  2420. </td>
  2421. <td class="entry_tags">
  2422. <ul class="entry_tags">
  2423. <li><a href="#tag_BC">BC</a></li>
  2424. </ul>
  2425. </td>
  2426. </tr>
  2427. <tr class="entries_header">
  2428. <th class="th_details" colspan="5">Details</th>
  2429. </tr>
  2430. <tr class="entry_cont">
  2431. <td class="entry_details" colspan="5">
  2432. <p>This entry is normally set to IDLE,<wbr/> or is not
  2433. included at all in the request settings.<wbr/></p>
  2434. <p>When included and set to START,<wbr/> the camera device will trigger the
  2435. autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
  2436. <p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
  2437. and return to its initial AF state.<wbr/></p>
  2438. <p>Generally,<wbr/> applications should set this entry to START or CANCEL for only a
  2439. single capture,<wbr/> and then return it to IDLE (or not set at all).<wbr/> Specifying
  2440. START for multiple captures in a row means restarting the AF operation over
  2441. and over again.<wbr/></p>
  2442. <p>See <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a> for what the trigger means for each AF mode.<wbr/></p>
  2443. </td>
  2444. </tr>
  2445. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2446. <!-- end of entry -->
  2447. <tr class="entry" id="controls_android.control.awbLock">
  2448. <td class="entry_name
  2449. " rowspan="3">
  2450. android.<wbr/>control.<wbr/>awb<wbr/>Lock
  2451. </td>
  2452. <td class="entry_type">
  2453. <span class="entry_type_name entry_type_name_enum">byte</span>
  2454. <span class="entry_type_visibility"> [public as boolean]</span>
  2455. <span class="entry_type_hwlevel">[legacy] </span>
  2456. <ul class="entry_type_enum">
  2457. <li>
  2458. <span class="entry_type_enum_name">OFF</span>
  2459. <span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
  2460. algorithm is free to update its parameters if in AUTO
  2461. mode.<wbr/></p></span>
  2462. </li>
  2463. <li>
  2464. <span class="entry_type_enum_name">ON</span>
  2465. <span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
  2466. algorithm will not update its parameters while the lock
  2467. is active.<wbr/></p></span>
  2468. </li>
  2469. </ul>
  2470. </td> <!-- entry_type -->
  2471. <td class="entry_description">
  2472. <p>Whether auto-white balance (AWB) is currently locked to its
  2473. latest calculated values.<wbr/></p>
  2474. </td>
  2475. <td class="entry_units">
  2476. </td>
  2477. <td class="entry_range">
  2478. </td>
  2479. <td class="entry_tags">
  2480. <ul class="entry_tags">
  2481. <li><a href="#tag_BC">BC</a></li>
  2482. </ul>
  2483. </td>
  2484. </tr>
  2485. <tr class="entries_header">
  2486. <th class="th_details" colspan="5">Details</th>
  2487. </tr>
  2488. <tr class="entry_cont">
  2489. <td class="entry_details" colspan="5">
  2490. <p>When set to <code>true</code> (ON),<wbr/> the AWB algorithm is locked to its latest parameters,<wbr/>
  2491. and will not change color balance settings until the lock is set to <code>false</code> (OFF).<wbr/></p>
  2492. <p>Since the camera device has a pipeline of in-flight requests,<wbr/> the settings that
  2493. get locked do not necessarily correspond to the settings that were present in the
  2494. latest capture result received from the camera device,<wbr/> since additional captures
  2495. and AWB updates may have occurred even before the result was sent out.<wbr/> If an
  2496. application is switching between automatic and manual control and wishes to eliminate
  2497. any flicker during the switch,<wbr/> the following procedure is recommended:</p>
  2498. <ol>
  2499. <li>Starting in auto-AWB mode:</li>
  2500. <li>Lock AWB</li>
  2501. <li>Wait for the first result to be output that has the AWB locked</li>
  2502. <li>Copy AWB settings from that result into a request,<wbr/> set the request to manual AWB</li>
  2503. <li>Submit the capture request,<wbr/> proceed to run manual AWB as desired.<wbr/></li>
  2504. </ol>
  2505. <p>Note that AWB lock is only meaningful when
  2506. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is in the AUTO mode; in other modes,<wbr/>
  2507. AWB is already fixed to a specific setting.<wbr/></p>
  2508. <p>Some LEGACY devices may not support ON; the value is then overridden to OFF.<wbr/></p>
  2509. </td>
  2510. </tr>
  2511. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2512. <!-- end of entry -->
  2513. <tr class="entry" id="controls_android.control.awbMode">
  2514. <td class="entry_name
  2515. " rowspan="3">
  2516. android.<wbr/>control.<wbr/>awb<wbr/>Mode
  2517. </td>
  2518. <td class="entry_type">
  2519. <span class="entry_type_name entry_type_name_enum">byte</span>
  2520. <span class="entry_type_visibility"> [public]</span>
  2521. <span class="entry_type_hwlevel">[legacy] </span>
  2522. <ul class="entry_type_enum">
  2523. <li>
  2524. <span class="entry_type_enum_name">OFF</span>
  2525. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
  2526. <p>The application-selected color transform matrix
  2527. (<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
  2528. (<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
  2529. device for manual white balance control.<wbr/></p></span>
  2530. </li>
  2531. <li>
  2532. <span class="entry_type_enum_name">AUTO</span>
  2533. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
  2534. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2535. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2536. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2537. values used by the camera device for the transform and gains
  2538. will be available in the capture result for this request.<wbr/></p></span>
  2539. </li>
  2540. <li>
  2541. <span class="entry_type_enum_name">INCANDESCENT</span>
  2542. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2543. the camera device uses incandescent light as the assumed scene
  2544. illumination for white balance.<wbr/></p>
  2545. <p>While the exact white balance transforms are up to the
  2546. camera device,<wbr/> they will approximately match the CIE
  2547. standard illuminant A.<wbr/></p>
  2548. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2549. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2550. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2551. values used by the camera device for the transform and gains
  2552. will be available in the capture result for this request.<wbr/></p></span>
  2553. </li>
  2554. <li>
  2555. <span class="entry_type_enum_name">FLUORESCENT</span>
  2556. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2557. the camera device uses fluorescent light as the assumed scene
  2558. illumination for white balance.<wbr/></p>
  2559. <p>While the exact white balance transforms are up to the
  2560. camera device,<wbr/> they will approximately match the CIE
  2561. standard illuminant F2.<wbr/></p>
  2562. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2563. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2564. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2565. values used by the camera device for the transform and gains
  2566. will be available in the capture result for this request.<wbr/></p></span>
  2567. </li>
  2568. <li>
  2569. <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
  2570. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2571. the camera device uses warm fluorescent light as the assumed scene
  2572. illumination for white balance.<wbr/></p>
  2573. <p>While the exact white balance transforms are up to the
  2574. camera device,<wbr/> they will approximately match the CIE
  2575. standard illuminant F4.<wbr/></p>
  2576. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2577. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2578. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2579. values used by the camera device for the transform and gains
  2580. will be available in the capture result for this request.<wbr/></p></span>
  2581. </li>
  2582. <li>
  2583. <span class="entry_type_enum_name">DAYLIGHT</span>
  2584. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2585. the camera device uses daylight light as the assumed scene
  2586. illumination for white balance.<wbr/></p>
  2587. <p>While the exact white balance transforms are up to the
  2588. camera device,<wbr/> they will approximately match the CIE
  2589. standard illuminant D65.<wbr/></p>
  2590. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2591. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2592. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2593. values used by the camera device for the transform and gains
  2594. will be available in the capture result for this request.<wbr/></p></span>
  2595. </li>
  2596. <li>
  2597. <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
  2598. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2599. the camera device uses cloudy daylight light as the assumed scene
  2600. illumination for white balance.<wbr/></p>
  2601. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2602. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2603. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2604. values used by the camera device for the transform and gains
  2605. will be available in the capture result for this request.<wbr/></p></span>
  2606. </li>
  2607. <li>
  2608. <span class="entry_type_enum_name">TWILIGHT</span>
  2609. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2610. the camera device uses twilight light as the assumed scene
  2611. illumination for white balance.<wbr/></p>
  2612. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2613. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2614. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2615. values used by the camera device for the transform and gains
  2616. will be available in the capture result for this request.<wbr/></p></span>
  2617. </li>
  2618. <li>
  2619. <span class="entry_type_enum_name">SHADE</span>
  2620. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2621. the camera device uses shade light as the assumed scene
  2622. illumination for white balance.<wbr/></p>
  2623. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2624. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2625. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2626. values used by the camera device for the transform and gains
  2627. will be available in the capture result for this request.<wbr/></p></span>
  2628. </li>
  2629. </ul>
  2630. </td> <!-- entry_type -->
  2631. <td class="entry_description">
  2632. <p>Whether auto-white balance (AWB) is currently setting the color
  2633. transform fields,<wbr/> and what its illumination target
  2634. is.<wbr/></p>
  2635. </td>
  2636. <td class="entry_units">
  2637. </td>
  2638. <td class="entry_range">
  2639. <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
  2640. </td>
  2641. <td class="entry_tags">
  2642. <ul class="entry_tags">
  2643. <li><a href="#tag_BC">BC</a></li>
  2644. </ul>
  2645. </td>
  2646. </tr>
  2647. <tr class="entries_header">
  2648. <th class="th_details" colspan="5">Details</th>
  2649. </tr>
  2650. <tr class="entry_cont">
  2651. <td class="entry_details" colspan="5">
  2652. <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
  2653. <p>When set to the ON mode,<wbr/> the camera device's auto-white balance
  2654. routine is enabled,<wbr/> overriding the application's selected
  2655. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
  2656. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
  2657. <p>When set to the OFF mode,<wbr/> the camera device's auto-white balance
  2658. routine is disabled.<wbr/> The application manually controls the white
  2659. balance by <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/> <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>
  2660. and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
  2661. <p>When set to any other modes,<wbr/> the camera device's auto-white
  2662. balance routine is disabled.<wbr/> The camera device uses each
  2663. particular illumination target for white balance
  2664. adjustment.<wbr/> The application's values for
  2665. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/>
  2666. <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
  2667. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> are ignored.<wbr/></p>
  2668. </td>
  2669. </tr>
  2670. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2671. <!-- end of entry -->
  2672. <tr class="entry" id="controls_android.control.awbRegions">
  2673. <td class="entry_name
  2674. " rowspan="5">
  2675. android.<wbr/>control.<wbr/>awb<wbr/>Regions
  2676. </td>
  2677. <td class="entry_type">
  2678. <span class="entry_type_name">int32</span>
  2679. <span class="entry_type_container">x</span>
  2680. <span class="entry_type_array">
  2681. 5 x area_count
  2682. </span>
  2683. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  2684. </td> <!-- entry_type -->
  2685. <td class="entry_description">
  2686. <p>List of metering areas to use for auto-white-balance illuminant
  2687. estimation.<wbr/></p>
  2688. </td>
  2689. <td class="entry_units">
  2690. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  2691. </td>
  2692. <td class="entry_range">
  2693. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2694. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2695. </td>
  2696. <td class="entry_tags">
  2697. <ul class="entry_tags">
  2698. <li><a href="#tag_BC">BC</a></li>
  2699. </ul>
  2700. </td>
  2701. </tr>
  2702. <tr class="entries_header">
  2703. <th class="th_details" colspan="5">Details</th>
  2704. </tr>
  2705. <tr class="entry_cont">
  2706. <td class="entry_details" colspan="5">
  2707. <p>Not available if <a href="#static_android.control.maxRegionsAwb">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb</a> is 0.<wbr/>
  2708. Otherwise will always be present.<wbr/></p>
  2709. <p>The maximum number of regions supported by the device is determined by the value
  2710. of <a href="#static_android.control.maxRegionsAwb">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb</a>.<wbr/></p>
  2711. <p>The coordinate system is based on the active pixel array,<wbr/>
  2712. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2713. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2714. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2715. bottom-right pixel in the active pixel array.<wbr/></p>
  2716. <p>The weight must range from 0 to 1000,<wbr/> and represents a weight
  2717. for every pixel in the area.<wbr/> This means that a large metering area
  2718. with the same weight as a smaller area will have more effect in
  2719. the metering result.<wbr/> Metering areas can partially overlap and the
  2720. camera device will add the weights in the overlap region.<wbr/></p>
  2721. <p>The weights are relative to weights of other white balance metering regions,<wbr/> so if
  2722. only one region is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with
  2723. 0 weight is ignored.<wbr/></p>
  2724. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2725. camera device.<wbr/></p>
  2726. <p>If the metering region is outside the used <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> returned in
  2727. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2728. region and output only the intersection rectangle as the metering region in the result
  2729. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2730. not reported in the result metadata.<wbr/></p>
  2731. </td>
  2732. </tr>
  2733. <tr class="entries_header">
  2734. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2735. </tr>
  2736. <tr class="entry_cont">
  2737. <td class="entry_details" colspan="5">
  2738. <p>The HAL level representation of MeteringRectangle[] is a
  2739. int[5 * area_<wbr/>count].<wbr/>
  2740. Every five elements represent a metering region of
  2741. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2742. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2743. exclusive on xmax and ymax.<wbr/></p>
  2744. </td>
  2745. </tr>
  2746. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2747. <!-- end of entry -->
  2748. <tr class="entry" id="controls_android.control.captureIntent">
  2749. <td class="entry_name
  2750. " rowspan="3">
  2751. android.<wbr/>control.<wbr/>capture<wbr/>Intent
  2752. </td>
  2753. <td class="entry_type">
  2754. <span class="entry_type_name entry_type_name_enum">byte</span>
  2755. <span class="entry_type_visibility"> [public]</span>
  2756. <span class="entry_type_hwlevel">[legacy] </span>
  2757. <ul class="entry_type_enum">
  2758. <li>
  2759. <span class="entry_type_enum_name">CUSTOM</span>
  2760. <span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
  2761. categories.<wbr/> The camera device will default to preview-like
  2762. behavior.<wbr/></p></span>
  2763. </li>
  2764. <li>
  2765. <span class="entry_type_enum_name">PREVIEW</span>
  2766. <span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
  2767. <p>The precapture trigger may be used to start off a metering
  2768. w/<wbr/>flash sequence.<wbr/></p></span>
  2769. </li>
  2770. <li>
  2771. <span class="entry_type_enum_name">STILL_CAPTURE</span>
  2772. <span class="entry_type_enum_notes"><p>This request is for a still capture-type
  2773. use case.<wbr/></p>
  2774. <p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
  2775. </li>
  2776. <li>
  2777. <span class="entry_type_enum_name">VIDEO_RECORD</span>
  2778. <span class="entry_type_enum_notes"><p>This request is for a video recording
  2779. use case.<wbr/></p></span>
  2780. </li>
  2781. <li>
  2782. <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
  2783. <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
  2784. image while recording video) use case.<wbr/></p>
  2785. <p>The camera device should take the highest-quality image
  2786. possible (given the other settings) without disrupting the
  2787. frame rate of video recording.<wbr/> </p></span>
  2788. </li>
  2789. <li>
  2790. <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
  2791. <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
  2792. application will stream full-resolution images and
  2793. reprocess one or several later for a final
  2794. capture.<wbr/></p></span>
  2795. </li>
  2796. <li>
  2797. <span class="entry_type_enum_name">MANUAL</span>
  2798. <span class="entry_type_enum_notes"><p>This request is for manual capture use case where
  2799. the applications want to directly control the capture parameters.<wbr/></p>
  2800. <p>For example,<wbr/> the application may wish to manually control
  2801. <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/> <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> etc.<wbr/></p></span>
  2802. </li>
  2803. </ul>
  2804. </td> <!-- entry_type -->
  2805. <td class="entry_description">
  2806. <p>Information to the camera device 3A (auto-exposure,<wbr/>
  2807. auto-focus,<wbr/> auto-white balance) routines about the purpose
  2808. of this capture,<wbr/> to help the camera device to decide optimal 3A
  2809. strategy.<wbr/></p>
  2810. </td>
  2811. <td class="entry_units">
  2812. </td>
  2813. <td class="entry_range">
  2814. </td>
  2815. <td class="entry_tags">
  2816. <ul class="entry_tags">
  2817. <li><a href="#tag_BC">BC</a></li>
  2818. </ul>
  2819. </td>
  2820. </tr>
  2821. <tr class="entries_header">
  2822. <th class="th_details" colspan="5">Details</th>
  2823. </tr>
  2824. <tr class="entry_cont">
  2825. <td class="entry_details" colspan="5">
  2826. <p>This control (except for MANUAL) is only effective if
  2827. <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code> and any 3A routine is active.<wbr/></p>
  2828. <p>ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
  2829. contains ZSL.<wbr/> MANUAL will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
  2830. contains MANUAL_<wbr/>SENSOR.<wbr/> Other intent values are always supported.<wbr/></p>
  2831. </td>
  2832. </tr>
  2833. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2834. <!-- end of entry -->
  2835. <tr class="entry" id="controls_android.control.effectMode">
  2836. <td class="entry_name
  2837. " rowspan="3">
  2838. android.<wbr/>control.<wbr/>effect<wbr/>Mode
  2839. </td>
  2840. <td class="entry_type">
  2841. <span class="entry_type_name entry_type_name_enum">byte</span>
  2842. <span class="entry_type_visibility"> [public]</span>
  2843. <span class="entry_type_hwlevel">[legacy] </span>
  2844. <ul class="entry_type_enum">
  2845. <li>
  2846. <span class="entry_type_enum_name">OFF</span>
  2847. <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
  2848. </li>
  2849. <li>
  2850. <span class="entry_type_enum_name">MONO</span>
  2851. <span class="entry_type_enum_optional">[optional]</span>
  2852. <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
  2853. a single color.<wbr/></p>
  2854. <p>This will typically be grayscale.<wbr/></p></span>
  2855. </li>
  2856. <li>
  2857. <span class="entry_type_enum_name">NEGATIVE</span>
  2858. <span class="entry_type_enum_optional">[optional]</span>
  2859. <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
  2860. are inverted.<wbr/></p></span>
  2861. </li>
  2862. <li>
  2863. <span class="entry_type_enum_name">SOLARIZE</span>
  2864. <span class="entry_type_enum_optional">[optional]</span>
  2865. <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
  2866. image is wholly or partially reversed in
  2867. tone.<wbr/></p></span>
  2868. </li>
  2869. <li>
  2870. <span class="entry_type_enum_name">SEPIA</span>
  2871. <span class="entry_type_enum_optional">[optional]</span>
  2872. <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
  2873. gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
  2874. </li>
  2875. <li>
  2876. <span class="entry_type_enum_name">POSTERIZE</span>
  2877. <span class="entry_type_enum_optional">[optional]</span>
  2878. <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
  2879. discrete regions of tone rather than a continuous
  2880. gradient of tones.<wbr/></p></span>
  2881. </li>
  2882. <li>
  2883. <span class="entry_type_enum_name">WHITEBOARD</span>
  2884. <span class="entry_type_enum_optional">[optional]</span>
  2885. <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
  2886. as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
  2887. </li>
  2888. <li>
  2889. <span class="entry_type_enum_name">BLACKBOARD</span>
  2890. <span class="entry_type_enum_optional">[optional]</span>
  2891. <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
  2892. as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
  2893. </li>
  2894. <li>
  2895. <span class="entry_type_enum_name">AQUA</span>
  2896. <span class="entry_type_enum_optional">[optional]</span>
  2897. <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
  2898. </li>
  2899. </ul>
  2900. </td> <!-- entry_type -->
  2901. <td class="entry_description">
  2902. <p>A special color effect to apply.<wbr/></p>
  2903. </td>
  2904. <td class="entry_units">
  2905. </td>
  2906. <td class="entry_range">
  2907. <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
  2908. </td>
  2909. <td class="entry_tags">
  2910. <ul class="entry_tags">
  2911. <li><a href="#tag_BC">BC</a></li>
  2912. </ul>
  2913. </td>
  2914. </tr>
  2915. <tr class="entries_header">
  2916. <th class="th_details" colspan="5">Details</th>
  2917. </tr>
  2918. <tr class="entry_cont">
  2919. <td class="entry_details" colspan="5">
  2920. <p>When this mode is set,<wbr/> a color effect will be applied
  2921. to images produced by the camera device.<wbr/> The interpretation
  2922. and implementation of these color effects is left to the
  2923. implementor of the camera device,<wbr/> and should not be
  2924. depended on to be consistent (or present) across all
  2925. devices.<wbr/></p>
  2926. </td>
  2927. </tr>
  2928. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2929. <!-- end of entry -->
  2930. <tr class="entry" id="controls_android.control.mode">
  2931. <td class="entry_name
  2932. " rowspan="3">
  2933. android.<wbr/>control.<wbr/>mode
  2934. </td>
  2935. <td class="entry_type">
  2936. <span class="entry_type_name entry_type_name_enum">byte</span>
  2937. <span class="entry_type_visibility"> [public]</span>
  2938. <span class="entry_type_hwlevel">[legacy] </span>
  2939. <ul class="entry_type_enum">
  2940. <li>
  2941. <span class="entry_type_enum_name">OFF</span>
  2942. <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
  2943. <p>All control by the device's metering and focusing (3A)
  2944. routines is disabled,<wbr/> and no other settings in
  2945. android.<wbr/>control.<wbr/>* have any effect,<wbr/> except that
  2946. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> may be used by the camera
  2947. device to select post-processing values for processing
  2948. blocks that do not allow for manual control,<wbr/> or are not
  2949. exposed by the camera API.<wbr/></p>
  2950. <p>However,<wbr/> the camera device's 3A routines may continue to
  2951. collect statistics and update their internal state so that
  2952. when control is switched to AUTO mode,<wbr/> good control values
  2953. can be immediately applied.<wbr/></p></span>
  2954. </li>
  2955. <li>
  2956. <span class="entry_type_enum_name">AUTO</span>
  2957. <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
  2958. <p>Manual control of capture parameters is disabled.<wbr/> All
  2959. controls in android.<wbr/>control.<wbr/>* besides sceneMode take
  2960. effect.<wbr/></p></span>
  2961. </li>
  2962. <li>
  2963. <span class="entry_type_enum_name">USE_SCENE_MODE</span>
  2964. <span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
  2965. <p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
  2966. control.<wbr/>afMode controls; the camera device will ignore
  2967. those settings while USE_<wbr/>SCENE_<wbr/>MODE is active (except for
  2968. FACE_<wbr/>PRIORITY scene mode).<wbr/> Other control entries are still
  2969. active.<wbr/> This setting can only be used if scene mode is
  2970. supported (i.<wbr/>e.<wbr/> <a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a>
  2971. contain some modes other than DISABLED).<wbr/></p></span>
  2972. </li>
  2973. <li>
  2974. <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
  2975. <span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
  2976. used by camera device background auto-exposure,<wbr/> auto-white balance and
  2977. auto-focus algorithms (3A) to update their statistics.<wbr/></p>
  2978. <p>Specifically,<wbr/> the 3A routines are locked to the last
  2979. values set from a request with AUTO,<wbr/> OFF,<wbr/> or
  2980. USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> and any statistics or state updates
  2981. collected from manual captures with OFF_<wbr/>KEEP_<wbr/>STATE will be
  2982. discarded by the camera device.<wbr/></p></span>
  2983. </li>
  2984. </ul>
  2985. </td> <!-- entry_type -->
  2986. <td class="entry_description">
  2987. <p>Overall mode of 3A (auto-exposure,<wbr/> auto-white-balance,<wbr/> auto-focus) control
  2988. routines.<wbr/></p>
  2989. </td>
  2990. <td class="entry_units">
  2991. </td>
  2992. <td class="entry_range">
  2993. </td>
  2994. <td class="entry_tags">
  2995. <ul class="entry_tags">
  2996. <li><a href="#tag_BC">BC</a></li>
  2997. </ul>
  2998. </td>
  2999. </tr>
  3000. <tr class="entries_header">
  3001. <th class="th_details" colspan="5">Details</th>
  3002. </tr>
  3003. <tr class="entry_cont">
  3004. <td class="entry_details" colspan="5">
  3005. <p>This is a top-level 3A control switch.<wbr/> When set to OFF,<wbr/> all 3A control
  3006. by the camera device is disabled.<wbr/> The application must set the fields for
  3007. capture parameters itself.<wbr/></p>
  3008. <p>When set to AUTO,<wbr/> the individual algorithm controls in
  3009. android.<wbr/>control.<wbr/>* are in effect,<wbr/> such as <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>.<wbr/></p>
  3010. <p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
  3011. android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
  3012. one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
  3013. as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
  3014. <a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
  3015. <p>When set to OFF_<wbr/>KEEP_<wbr/>STATE,<wbr/> it is similar to OFF mode,<wbr/> the only difference
  3016. is that this frame will not be used by camera device background 3A statistics
  3017. update,<wbr/> as if this frame is never captured.<wbr/> This mode can be used in the scenario
  3018. where the application doesn't want a 3A manual control capture to affect
  3019. the subsequent auto 3A capture results.<wbr/></p>
  3020. <p>LEGACY mode devices will only support AUTO and USE_<wbr/>SCENE_<wbr/>MODE modes.<wbr/>
  3021. LIMITED mode devices will only support OFF and OFF_<wbr/>KEEP_<wbr/>STATE if they
  3022. support the MANUAL_<wbr/>SENSOR and MANUAL_<wbr/>POST_<wbr/>PROCSESING capabilities.<wbr/>
  3023. FULL mode devices will always support OFF and OFF_<wbr/>KEEP_<wbr/>STATE.<wbr/></p>
  3024. </td>
  3025. </tr>
  3026. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3027. <!-- end of entry -->
  3028. <tr class="entry" id="controls_android.control.sceneMode">
  3029. <td class="entry_name
  3030. " rowspan="5">
  3031. android.<wbr/>control.<wbr/>scene<wbr/>Mode
  3032. </td>
  3033. <td class="entry_type">
  3034. <span class="entry_type_name entry_type_name_enum">byte</span>
  3035. <span class="entry_type_visibility"> [public]</span>
  3036. <span class="entry_type_hwlevel">[legacy] </span>
  3037. <ul class="entry_type_enum">
  3038. <li>
  3039. <span class="entry_type_enum_name">DISABLED</span>
  3040. <span class="entry_type_enum_value">0</span>
  3041. <span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
  3042. </li>
  3043. <li>
  3044. <span class="entry_type_enum_name">FACE_PRIORITY</span>
  3045. <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
  3046. detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
  3047. auto-exposure routines.<wbr/></p>
  3048. <p>If face detection statistics are disabled
  3049. (i.<wbr/>e.<wbr/> <a href="#controls_android.statistics.faceDetectMode">android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode</a> is set to OFF),<wbr/>
  3050. this should still operate correctly (but will not return
  3051. face detection statistics to the framework).<wbr/></p>
  3052. <p>Unlike the other scene modes,<wbr/> <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3053. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>
  3054. remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
  3055. </li>
  3056. <li>
  3057. <span class="entry_type_enum_name">ACTION</span>
  3058. <span class="entry_type_enum_optional">[optional]</span>
  3059. <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
  3060. <p>Similar to SPORTS.<wbr/></p></span>
  3061. </li>
  3062. <li>
  3063. <span class="entry_type_enum_name">PORTRAIT</span>
  3064. <span class="entry_type_enum_optional">[optional]</span>
  3065. <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
  3066. </li>
  3067. <li>
  3068. <span class="entry_type_enum_name">LANDSCAPE</span>
  3069. <span class="entry_type_enum_optional">[optional]</span>
  3070. <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
  3071. </li>
  3072. <li>
  3073. <span class="entry_type_enum_name">NIGHT</span>
  3074. <span class="entry_type_enum_optional">[optional]</span>
  3075. <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
  3076. </li>
  3077. <li>
  3078. <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
  3079. <span class="entry_type_enum_optional">[optional]</span>
  3080. <span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
  3081. settings.<wbr/></p></span>
  3082. </li>
  3083. <li>
  3084. <span class="entry_type_enum_name">THEATRE</span>
  3085. <span class="entry_type_enum_optional">[optional]</span>
  3086. <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
  3087. remain off.<wbr/></p></span>
  3088. </li>
  3089. <li>
  3090. <span class="entry_type_enum_name">BEACH</span>
  3091. <span class="entry_type_enum_optional">[optional]</span>
  3092. <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
  3093. </li>
  3094. <li>
  3095. <span class="entry_type_enum_name">SNOW</span>
  3096. <span class="entry_type_enum_optional">[optional]</span>
  3097. <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
  3098. </li>
  3099. <li>
  3100. <span class="entry_type_enum_name">SUNSET</span>
  3101. <span class="entry_type_enum_optional">[optional]</span>
  3102. <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
  3103. </li>
  3104. <li>
  3105. <span class="entry_type_enum_name">STEADYPHOTO</span>
  3106. <span class="entry_type_enum_optional">[optional]</span>
  3107. <span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
  3108. device motion (for example: due to hand shake).<wbr/></p></span>
  3109. </li>
  3110. <li>
  3111. <span class="entry_type_enum_name">FIREWORKS</span>
  3112. <span class="entry_type_enum_optional">[optional]</span>
  3113. <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
  3114. </li>
  3115. <li>
  3116. <span class="entry_type_enum_name">SPORTS</span>
  3117. <span class="entry_type_enum_optional">[optional]</span>
  3118. <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
  3119. <p>Similar to ACTION.<wbr/></p></span>
  3120. </li>
  3121. <li>
  3122. <span class="entry_type_enum_name">PARTY</span>
  3123. <span class="entry_type_enum_optional">[optional]</span>
  3124. <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
  3125. people.<wbr/></p></span>
  3126. </li>
  3127. <li>
  3128. <span class="entry_type_enum_name">CANDLELIGHT</span>
  3129. <span class="entry_type_enum_optional">[optional]</span>
  3130. <span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
  3131. is a flame.<wbr/></p></span>
  3132. </li>
  3133. <li>
  3134. <span class="entry_type_enum_name">BARCODE</span>
  3135. <span class="entry_type_enum_optional">[optional]</span>
  3136. <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
  3137. for use by camera applications that wish to read the
  3138. barcode value.<wbr/></p></span>
  3139. </li>
  3140. <li>
  3141. <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
  3142. <span class="entry_type_enum_optional">[optional]</span>
  3143. <span class="entry_type_enum_notes"><p>Optimized for high speed video recording (frame rate &gt;=60fps) use case.<wbr/></p>
  3144. <p>The supported high speed video sizes and fps ranges are specified in
  3145. <a href="#static_android.control.availableHighSpeedVideoConfigurations">android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations</a>.<wbr/> To get desired
  3146. output frame rates,<wbr/> the application is only allowed to select video size
  3147. and fps range combinations listed in this static metadata.<wbr/> The fps range
  3148. can be control via <a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a>.<wbr/></p>
  3149. <p>In this mode,<wbr/> the camera device will override aeMode,<wbr/> awbMode,<wbr/> and afMode to
  3150. ON,<wbr/> ON,<wbr/> and CONTINUOUS_<wbr/>VIDEO,<wbr/> respectively.<wbr/> All post-processing block mode
  3151. controls will be overridden to be FAST.<wbr/> Therefore,<wbr/> no manual control of capture
  3152. and post-processing parameters is possible.<wbr/> All other controls operate the
  3153. same as when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == AUTO.<wbr/> This means that all other
  3154. android.<wbr/>control.<wbr/>* fields continue to work,<wbr/> such as</p>
  3155. <ul>
  3156. <li><a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a></li>
  3157. <li><a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a></li>
  3158. <li><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a></li>
  3159. <li><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a></li>
  3160. <li><a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a></li>
  3161. <li><a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a></li>
  3162. <li><a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a></li>
  3163. <li><a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a></li>
  3164. <li><a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a></li>
  3165. <li><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a></li>
  3166. </ul>
  3167. <p>Outside of android.<wbr/>control.<wbr/>*,<wbr/> the following controls will work:</p>
  3168. <ul>
  3169. <li><a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> (automatic flash for still capture will not work since aeMode is ON)</li>
  3170. <li><a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a> (if it is supported)</li>
  3171. <li><a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a></li>
  3172. <li><a href="#controls_android.statistics.faceDetectMode">android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode</a></li>
  3173. </ul>
  3174. <p>For high speed recording use case,<wbr/> the actual maximum supported frame rate may
  3175. be lower than what camera can output,<wbr/> depending on the destination Surfaces for
  3176. the image data.<wbr/> For example,<wbr/> if the destination surface is from video encoder,<wbr/>
  3177. the application need check if the video encoder is capable of supporting the
  3178. high frame rate for a given video size,<wbr/> or it will end up with lower recording
  3179. frame rate.<wbr/> If the destination surface is from preview window,<wbr/> the preview frame
  3180. rate will be bounded by the screen refresh rate.<wbr/></p>
  3181. <p>The camera device will only support up to 2 output high speed streams
  3182. (processed non-stalling format defined in <a href="#static_android.request.maxNumOutputStreams">android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams</a>)
  3183. in this mode.<wbr/> This control will be effective only if all of below conditions are true:</p>
  3184. <ul>
  3185. <li>The application created no more than maxNumHighSpeedStreams processed non-stalling
  3186. format output streams,<wbr/> where maxNumHighSpeedStreams is calculated as
  3187. min(2,<wbr/> <a href="#static_android.request.maxNumOutputStreams">android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams</a>[Processed (but not-stalling)]).<wbr/></li>
  3188. <li>The stream sizes are selected from the sizes reported by
  3189. <a href="#static_android.control.availableHighSpeedVideoConfigurations">android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations</a>.<wbr/></li>
  3190. <li>No processed non-stalling or raw streams are configured.<wbr/></li>
  3191. </ul>
  3192. <p>When above conditions are NOT satistied,<wbr/> the controls of this mode and
  3193. <a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a> will be ignored by the camera device,<wbr/>
  3194. the camera device will fall back to <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> <code>==</code> AUTO,<wbr/>
  3195. and the returned capture result metadata will give the fps range choosen
  3196. by the camera device.<wbr/></p>
  3197. <p>Switching into or out of this mode may trigger some camera ISP/<wbr/>sensor
  3198. reconfigurations,<wbr/> which may introduce extra latency.<wbr/> It is recommended that
  3199. the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
  3200. </li>
  3201. <li>
  3202. <span class="entry_type_enum_name">HDR</span>
  3203. <span class="entry_type_enum_optional">[optional]</span>
  3204. <span class="entry_type_enum_optional">[hidden]</span>
  3205. <span class="entry_type_enum_notes"><p>Turn on custom high dynamic range (HDR) mode.<wbr/></p>
  3206. <p>This is intended for LEGACY mode devices only;
  3207. HAL3+ camera devices should not implement this mode.<wbr/></p></span>
  3208. </li>
  3209. </ul>
  3210. </td> <!-- entry_type -->
  3211. <td class="entry_description">
  3212. <p>Control for which scene mode is currently active.<wbr/></p>
  3213. </td>
  3214. <td class="entry_units">
  3215. </td>
  3216. <td class="entry_range">
  3217. <p><a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a></p>
  3218. </td>
  3219. <td class="entry_tags">
  3220. <ul class="entry_tags">
  3221. <li><a href="#tag_BC">BC</a></li>
  3222. </ul>
  3223. </td>
  3224. </tr>
  3225. <tr class="entries_header">
  3226. <th class="th_details" colspan="5">Details</th>
  3227. </tr>
  3228. <tr class="entry_cont">
  3229. <td class="entry_details" colspan="5">
  3230. <p>Scene modes are custom camera modes optimized for a certain set of conditions and
  3231. capture settings.<wbr/></p>
  3232. <p>This is the mode that that is active when
  3233. <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == USE_<wbr/>SCENE_<wbr/>MODE</code>.<wbr/> Aside from FACE_<wbr/>PRIORITY,<wbr/>
  3234. these modes will disable <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3235. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> while in use.<wbr/></p>
  3236. <p>The interpretation and implementation of these scene modes is left
  3237. to the implementor of the camera device.<wbr/> Their behavior will not be
  3238. consistent across all devices,<wbr/> and any given device may only implement
  3239. a subset of these modes.<wbr/></p>
  3240. </td>
  3241. </tr>
  3242. <tr class="entries_header">
  3243. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3244. </tr>
  3245. <tr class="entry_cont">
  3246. <td class="entry_details" colspan="5">
  3247. <p>HAL implementations that include scene modes are expected to provide
  3248. the per-scene settings to use for <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3249. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> in
  3250. <a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
  3251. <p>For HIGH_<wbr/>SPEED_<wbr/>VIDEO mode,<wbr/> if it is included in <a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a>,<wbr/>
  3252. the HAL must list supported video size and fps range in
  3253. <a href="#static_android.control.availableHighSpeedVideoConfigurations">android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations</a>.<wbr/> For a given size,<wbr/> e.<wbr/>g.<wbr/>
  3254. 1280x720,<wbr/> if the HAL has two different sensor configurations for normal streaming
  3255. mode and high speed streaming,<wbr/> when this scene mode is set/<wbr/>reset in a sequence of capture
  3256. requests,<wbr/> the HAL may have to switch between different sensor modes.<wbr/></p>
  3257. </td>
  3258. </tr>
  3259. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3260. <!-- end of entry -->
  3261. <tr class="entry" id="controls_android.control.videoStabilizationMode">
  3262. <td class="entry_name
  3263. " rowspan="3">
  3264. android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
  3265. </td>
  3266. <td class="entry_type">
  3267. <span class="entry_type_name entry_type_name_enum">byte</span>
  3268. <span class="entry_type_visibility"> [public]</span>
  3269. <span class="entry_type_hwlevel">[legacy] </span>
  3270. <ul class="entry_type_enum">
  3271. <li>
  3272. <span class="entry_type_enum_name">OFF</span>
  3273. <span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
  3274. </li>
  3275. <li>
  3276. <span class="entry_type_enum_name">ON</span>
  3277. <span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
  3278. </li>
  3279. </ul>
  3280. </td> <!-- entry_type -->
  3281. <td class="entry_description">
  3282. <p>Whether video stabilization is
  3283. active.<wbr/></p>
  3284. </td>
  3285. <td class="entry_units">
  3286. </td>
  3287. <td class="entry_range">
  3288. </td>
  3289. <td class="entry_tags">
  3290. <ul class="entry_tags">
  3291. <li><a href="#tag_BC">BC</a></li>
  3292. </ul>
  3293. </td>
  3294. </tr>
  3295. <tr class="entries_header">
  3296. <th class="th_details" colspan="5">Details</th>
  3297. </tr>
  3298. <tr class="entry_cont">
  3299. <td class="entry_details" colspan="5">
  3300. <p>Video stabilization automatically translates and scales images from
  3301. the camera in order to stabilize motion between consecutive frames.<wbr/></p>
  3302. <p>If enabled,<wbr/> video stabilization can modify the
  3303. <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> to keep the video stream stabilized.<wbr/></p>
  3304. <p>Switching between different video stabilization modes may take several
  3305. frames to initialize,<wbr/> the camera device will report the current mode
  3306. in capture result metadata.<wbr/> For example,<wbr/> When "ON" mode is requested,<wbr/>
  3307. the video stabilization modes in the first several capture results may
  3308. still be "OFF",<wbr/> and it will become "ON" when the initialization is
  3309. done.<wbr/></p>
  3310. <p>If a camera device supports both this mode and OIS
  3311. (<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
  3312. produce undesirable interaction,<wbr/> so it is recommended not to enable
  3313. both at the same time.<wbr/></p>
  3314. </td>
  3315. </tr>
  3316. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3317. <!-- end of entry -->
  3318. <!-- end of kind -->
  3319. </tbody>
  3320. <tr><td colspan="6" class="kind">static</td></tr>
  3321. <thead class="entries_header">
  3322. <tr>
  3323. <th class="th_name">Property Name</th>
  3324. <th class="th_type">Type</th>
  3325. <th class="th_description">Description</th>
  3326. <th class="th_units">Units</th>
  3327. <th class="th_range">Range</th>
  3328. <th class="th_tags">Tags</th>
  3329. </tr>
  3330. </thead>
  3331. <tbody>
  3332. <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
  3333. <td class="entry_name
  3334. " rowspan="3">
  3335. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
  3336. </td>
  3337. <td class="entry_type">
  3338. <span class="entry_type_name">byte</span>
  3339. <span class="entry_type_container">x</span>
  3340. <span class="entry_type_array">
  3341. n
  3342. </span>
  3343. <span class="entry_type_visibility"> [public as enumList]</span>
  3344. <span class="entry_type_hwlevel">[legacy] </span>
  3345. <div class="entry_type_notes">list of enums</div>
  3346. </td> <!-- entry_type -->
  3347. <td class="entry_description">
  3348. <p>List of auto-exposure antibanding modes for <a href="#controls_android.control.aeAntibandingMode">android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode</a> that are
  3349. supported by this camera device.<wbr/></p>
  3350. </td>
  3351. <td class="entry_units">
  3352. </td>
  3353. <td class="entry_range">
  3354. <p>Any value listed in <a href="#controls_android.control.aeAntibandingMode">android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode</a></p>
  3355. </td>
  3356. <td class="entry_tags">
  3357. <ul class="entry_tags">
  3358. <li><a href="#tag_BC">BC</a></li>
  3359. </ul>
  3360. </td>
  3361. </tr>
  3362. <tr class="entries_header">
  3363. <th class="th_details" colspan="5">Details</th>
  3364. </tr>
  3365. <tr class="entry_cont">
  3366. <td class="entry_details" colspan="5">
  3367. <p>Not all of the auto-exposure anti-banding modes may be
  3368. supported by a given camera device.<wbr/> This field lists the
  3369. valid anti-banding modes that the application may request
  3370. for this camera device with the
  3371. <a href="#controls_android.control.aeAntibandingMode">android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode</a> control.<wbr/> This list
  3372. always includes AUTO.<wbr/></p>
  3373. </td>
  3374. </tr>
  3375. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3376. <!-- end of entry -->
  3377. <tr class="entry" id="static_android.control.aeAvailableModes">
  3378. <td class="entry_name
  3379. " rowspan="3">
  3380. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
  3381. </td>
  3382. <td class="entry_type">
  3383. <span class="entry_type_name">byte</span>
  3384. <span class="entry_type_container">x</span>
  3385. <span class="entry_type_array">
  3386. n
  3387. </span>
  3388. <span class="entry_type_visibility"> [public as enumList]</span>
  3389. <span class="entry_type_hwlevel">[legacy] </span>
  3390. <div class="entry_type_notes">list of enums</div>
  3391. </td> <!-- entry_type -->
  3392. <td class="entry_description">
  3393. <p>List of auto-exposure modes for <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> that are supported by this camera
  3394. device.<wbr/></p>
  3395. </td>
  3396. <td class="entry_units">
  3397. </td>
  3398. <td class="entry_range">
  3399. <p>Any value listed in <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a></p>
  3400. </td>
  3401. <td class="entry_tags">
  3402. <ul class="entry_tags">
  3403. <li><a href="#tag_BC">BC</a></li>
  3404. </ul>
  3405. </td>
  3406. </tr>
  3407. <tr class="entries_header">
  3408. <th class="th_details" colspan="5">Details</th>
  3409. </tr>
  3410. <tr class="entry_cont">
  3411. <td class="entry_details" colspan="5">
  3412. <p>Not all the auto-exposure modes may be supported by a
  3413. given camera device,<wbr/> especially if no flash unit is
  3414. available.<wbr/> This entry lists the valid modes for
  3415. <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
  3416. <p>All camera devices support ON,<wbr/> and all camera devices with flash
  3417. units support ON_<wbr/>AUTO_<wbr/>FLASH and ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
  3418. <p>FULL mode camera devices always support OFF mode,<wbr/>
  3419. which enables application control of camera exposure time,<wbr/>
  3420. sensitivity,<wbr/> and frame duration.<wbr/></p>
  3421. <p>LEGACY mode camera devices never support OFF mode.<wbr/>
  3422. LIMITED mode devices support OFF if they support the MANUAL_<wbr/>SENSOR
  3423. capability.<wbr/></p>
  3424. </td>
  3425. </tr>
  3426. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3427. <!-- end of entry -->
  3428. <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
  3429. <td class="entry_name
  3430. " rowspan="3">
  3431. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
  3432. </td>
  3433. <td class="entry_type">
  3434. <span class="entry_type_name">int32</span>
  3435. <span class="entry_type_container">x</span>
  3436. <span class="entry_type_array">
  3437. 2 x n
  3438. </span>
  3439. <span class="entry_type_visibility"> [public as rangeInt]</span>
  3440. <span class="entry_type_hwlevel">[legacy] </span>
  3441. <div class="entry_type_notes">list of pairs of frame rates</div>
  3442. </td> <!-- entry_type -->
  3443. <td class="entry_description">
  3444. <p>List of frame rate ranges for <a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a> supported by
  3445. this camera device.<wbr/></p>
  3446. </td>
  3447. <td class="entry_units">
  3448. Frames per second (FPS)
  3449. </td>
  3450. <td class="entry_range">
  3451. </td>
  3452. <td class="entry_tags">
  3453. <ul class="entry_tags">
  3454. <li><a href="#tag_BC">BC</a></li>
  3455. </ul>
  3456. </td>
  3457. </tr>
  3458. <tr class="entries_header">
  3459. <th class="th_details" colspan="5">Details</th>
  3460. </tr>
  3461. <tr class="entry_cont">
  3462. <td class="entry_details" colspan="5">
  3463. <p>For devices at the LIMITED level or above,<wbr/> this list will include at least (30,<wbr/> 30) for
  3464. constant-framerate recording.<wbr/></p>
  3465. </td>
  3466. </tr>
  3467. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3468. <!-- end of entry -->
  3469. <tr class="entry" id="static_android.control.aeCompensationRange">
  3470. <td class="entry_name
  3471. " rowspan="1">
  3472. android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
  3473. </td>
  3474. <td class="entry_type">
  3475. <span class="entry_type_name">int32</span>
  3476. <span class="entry_type_container">x</span>
  3477. <span class="entry_type_array">
  3478. 2
  3479. </span>
  3480. <span class="entry_type_visibility"> [public as rangeInt]</span>
  3481. <span class="entry_type_hwlevel">[legacy] </span>
  3482. </td> <!-- entry_type -->
  3483. <td class="entry_description">
  3484. <p>Maximum and minimum exposure compensation values for
  3485. <a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a>,<wbr/> in counts of <a href="#static_android.control.aeCompensationStep">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step</a>,<wbr/>
  3486. that are supported by this camera device.<wbr/></p>
  3487. </td>
  3488. <td class="entry_units">
  3489. </td>
  3490. <td class="entry_range">
  3491. <p><code>Min.<wbr/>exposure compensation * <a href="#static_android.control.aeCompensationStep">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step</a> &lt;= -2 EV</code></p>
  3492. <p><code>Max.<wbr/>exposure compensation * <a href="#static_android.control.aeCompensationStep">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step</a> &gt;= 2 EV</code></p>
  3493. </td>
  3494. <td class="entry_tags">
  3495. <ul class="entry_tags">
  3496. <li><a href="#tag_BC">BC</a></li>
  3497. </ul>
  3498. </td>
  3499. </tr>
  3500. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3501. <!-- end of entry -->
  3502. <tr class="entry" id="static_android.control.aeCompensationStep">
  3503. <td class="entry_name
  3504. " rowspan="5">
  3505. android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
  3506. </td>
  3507. <td class="entry_type">
  3508. <span class="entry_type_name">rational</span>
  3509. <span class="entry_type_visibility"> [public]</span>
  3510. <span class="entry_type_hwlevel">[legacy] </span>
  3511. </td> <!-- entry_type -->
  3512. <td class="entry_description">
  3513. <p>Smallest step by which the exposure compensation
  3514. can be changed.<wbr/></p>
  3515. </td>
  3516. <td class="entry_units">
  3517. Exposure Value (EV)
  3518. </td>
  3519. <td class="entry_range">
  3520. </td>
  3521. <td class="entry_tags">
  3522. <ul class="entry_tags">
  3523. <li><a href="#tag_BC">BC</a></li>
  3524. </ul>
  3525. </td>
  3526. </tr>
  3527. <tr class="entries_header">
  3528. <th class="th_details" colspan="5">Details</th>
  3529. </tr>
  3530. <tr class="entry_cont">
  3531. <td class="entry_details" colspan="5">
  3532. <p>This is the unit for <a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a>.<wbr/> For example,<wbr/> if this key has
  3533. a value of <code>1/<wbr/>2</code>,<wbr/> then a setting of <code>-2</code> for <a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a> means
  3534. that the target EV offset for the auto-exposure routine is -1 EV.<wbr/></p>
  3535. <p>One unit of EV compensation changes the brightness of the captured image by a factor
  3536. of two.<wbr/> +1 EV doubles the image brightness,<wbr/> while -1 EV halves the image brightness.<wbr/></p>
  3537. </td>
  3538. </tr>
  3539. <tr class="entries_header">
  3540. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3541. </tr>
  3542. <tr class="entry_cont">
  3543. <td class="entry_details" colspan="5">
  3544. <p>This must be less than or equal to 1/<wbr/>2.<wbr/></p>
  3545. </td>
  3546. </tr>
  3547. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3548. <!-- end of entry -->
  3549. <tr class="entry" id="static_android.control.afAvailableModes">
  3550. <td class="entry_name
  3551. " rowspan="3">
  3552. android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
  3553. </td>
  3554. <td class="entry_type">
  3555. <span class="entry_type_name">byte</span>
  3556. <span class="entry_type_container">x</span>
  3557. <span class="entry_type_array">
  3558. n
  3559. </span>
  3560. <span class="entry_type_visibility"> [public as enumList]</span>
  3561. <span class="entry_type_hwlevel">[legacy] </span>
  3562. <div class="entry_type_notes">List of enums</div>
  3563. </td> <!-- entry_type -->
  3564. <td class="entry_description">
  3565. <p>List of auto-focus (AF) modes for <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> that are
  3566. supported by this camera device.<wbr/></p>
  3567. </td>
  3568. <td class="entry_units">
  3569. </td>
  3570. <td class="entry_range">
  3571. <p>Any value listed in <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a></p>
  3572. </td>
  3573. <td class="entry_tags">
  3574. <ul class="entry_tags">
  3575. <li><a href="#tag_BC">BC</a></li>
  3576. </ul>
  3577. </td>
  3578. </tr>
  3579. <tr class="entries_header">
  3580. <th class="th_details" colspan="5">Details</th>
  3581. </tr>
  3582. <tr class="entry_cont">
  3583. <td class="entry_details" colspan="5">
  3584. <p>Not all the auto-focus modes may be supported by a
  3585. given camera device.<wbr/> This entry lists the valid modes for
  3586. <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
  3587. <p>All LIMITED and FULL mode camera devices will support OFF mode,<wbr/> and all
  3588. camera devices with adjustable focuser units
  3589. (<code><a href="#static_android.lens.info.minimumFocusDistance">android.<wbr/>lens.<wbr/>info.<wbr/>minimum<wbr/>Focus<wbr/>Distance</a> &gt; 0</code>) will support AUTO mode.<wbr/></p>
  3590. <p>LEGACY devices will support OFF mode only if they support
  3591. focusing to infinity (by also setting <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> to
  3592. <code>0.<wbr/>0f</code>).<wbr/></p>
  3593. </td>
  3594. </tr>
  3595. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3596. <!-- end of entry -->
  3597. <tr class="entry" id="static_android.control.availableEffects">
  3598. <td class="entry_name
  3599. " rowspan="3">
  3600. android.<wbr/>control.<wbr/>available<wbr/>Effects
  3601. </td>
  3602. <td class="entry_type">
  3603. <span class="entry_type_name">byte</span>
  3604. <span class="entry_type_container">x</span>
  3605. <span class="entry_type_array">
  3606. n
  3607. </span>
  3608. <span class="entry_type_visibility"> [public as enumList]</span>
  3609. <span class="entry_type_hwlevel">[legacy] </span>
  3610. <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
  3611. </td> <!-- entry_type -->
  3612. <td class="entry_description">
  3613. <p>List of color effects for <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a> that are supported by this camera
  3614. device.<wbr/></p>
  3615. </td>
  3616. <td class="entry_units">
  3617. </td>
  3618. <td class="entry_range">
  3619. <p>Any value listed in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a></p>
  3620. </td>
  3621. <td class="entry_tags">
  3622. <ul class="entry_tags">
  3623. <li><a href="#tag_BC">BC</a></li>
  3624. </ul>
  3625. </td>
  3626. </tr>
  3627. <tr class="entries_header">
  3628. <th class="th_details" colspan="5">Details</th>
  3629. </tr>
  3630. <tr class="entry_cont">
  3631. <td class="entry_details" colspan="5">
  3632. <p>This list contains the color effect modes that can be applied to
  3633. images produced by the camera device.<wbr/>
  3634. Implementations are not expected to be consistent across all devices.<wbr/>
  3635. If no color effect modes are available for a device,<wbr/> this will only list
  3636. OFF.<wbr/></p>
  3637. <p>A color effect will only be applied if
  3638. <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/> OFF is always included in this list.<wbr/></p>
  3639. <p>This control has no effect on the operation of other control routines such
  3640. as auto-exposure,<wbr/> white balance,<wbr/> or focus.<wbr/></p>
  3641. </td>
  3642. </tr>
  3643. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3644. <!-- end of entry -->
  3645. <tr class="entry" id="static_android.control.availableSceneModes">
  3646. <td class="entry_name
  3647. " rowspan="3">
  3648. android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
  3649. </td>
  3650. <td class="entry_type">
  3651. <span class="entry_type_name">byte</span>
  3652. <span class="entry_type_container">x</span>
  3653. <span class="entry_type_array">
  3654. n
  3655. </span>
  3656. <span class="entry_type_visibility"> [public as enumList]</span>
  3657. <span class="entry_type_hwlevel">[legacy] </span>
  3658. <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
  3659. </td> <!-- entry_type -->
  3660. <td class="entry_description">
  3661. <p>List of scene modes for <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> that are supported by this camera
  3662. device.<wbr/></p>
  3663. </td>
  3664. <td class="entry_units">
  3665. </td>
  3666. <td class="entry_range">
  3667. <p>Any value listed in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a></p>
  3668. </td>
  3669. <td class="entry_tags">
  3670. <ul class="entry_tags">
  3671. <li><a href="#tag_BC">BC</a></li>
  3672. </ul>
  3673. </td>
  3674. </tr>
  3675. <tr class="entries_header">
  3676. <th class="th_details" colspan="5">Details</th>
  3677. </tr>
  3678. <tr class="entry_cont">
  3679. <td class="entry_details" colspan="5">
  3680. <p>This list contains scene modes that can be set for the camera device.<wbr/>
  3681. Only scene modes that have been fully implemented for the
  3682. camera device may be included here.<wbr/> Implementations are not expected
  3683. to be consistent across all devices.<wbr/></p>
  3684. <p>If no scene modes are supported by the camera device,<wbr/> this
  3685. will be set to DISABLED.<wbr/> Otherwise DISABLED will not be listed.<wbr/></p>
  3686. <p>FACE_<wbr/>PRIORITY is always listed if face detection is
  3687. supported (i.<wbr/>e.<wbr/><code><a href="#static_android.statistics.info.maxFaceCount">android.<wbr/>statistics.<wbr/>info.<wbr/>max<wbr/>Face<wbr/>Count</a> &gt;
  3688. 0</code>).<wbr/></p>
  3689. </td>
  3690. </tr>
  3691. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3692. <!-- end of entry -->
  3693. <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
  3694. <td class="entry_name
  3695. " rowspan="3">
  3696. android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
  3697. </td>
  3698. <td class="entry_type">
  3699. <span class="entry_type_name">byte</span>
  3700. <span class="entry_type_container">x</span>
  3701. <span class="entry_type_array">
  3702. n
  3703. </span>
  3704. <span class="entry_type_visibility"> [public as enumList]</span>
  3705. <span class="entry_type_hwlevel">[legacy] </span>
  3706. <div class="entry_type_notes">List of enums.<wbr/></div>
  3707. </td> <!-- entry_type -->
  3708. <td class="entry_description">
  3709. <p>List of video stabilization modes for <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a>
  3710. that are supported by this camera device.<wbr/></p>
  3711. </td>
  3712. <td class="entry_units">
  3713. </td>
  3714. <td class="entry_range">
  3715. <p>Any value listed in <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a></p>
  3716. </td>
  3717. <td class="entry_tags">
  3718. <ul class="entry_tags">
  3719. <li><a href="#tag_BC">BC</a></li>
  3720. </ul>
  3721. </td>
  3722. </tr>
  3723. <tr class="entries_header">
  3724. <th class="th_details" colspan="5">Details</th>
  3725. </tr>
  3726. <tr class="entry_cont">
  3727. <td class="entry_details" colspan="5">
  3728. <p>OFF will always be listed.<wbr/></p>
  3729. </td>
  3730. </tr>
  3731. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3732. <!-- end of entry -->
  3733. <tr class="entry" id="static_android.control.awbAvailableModes">
  3734. <td class="entry_name
  3735. " rowspan="3">
  3736. android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
  3737. </td>
  3738. <td class="entry_type">
  3739. <span class="entry_type_name">byte</span>
  3740. <span class="entry_type_container">x</span>
  3741. <span class="entry_type_array">
  3742. n
  3743. </span>
  3744. <span class="entry_type_visibility"> [public as enumList]</span>
  3745. <span class="entry_type_hwlevel">[legacy] </span>
  3746. <div class="entry_type_notes">List of enums</div>
  3747. </td> <!-- entry_type -->
  3748. <td class="entry_description">
  3749. <p>List of auto-white-balance modes for <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> that are supported by this
  3750. camera device.<wbr/></p>
  3751. </td>
  3752. <td class="entry_units">
  3753. </td>
  3754. <td class="entry_range">
  3755. <p>Any value listed in <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a></p>
  3756. </td>
  3757. <td class="entry_tags">
  3758. <ul class="entry_tags">
  3759. <li><a href="#tag_BC">BC</a></li>
  3760. </ul>
  3761. </td>
  3762. </tr>
  3763. <tr class="entries_header">
  3764. <th class="th_details" colspan="5">Details</th>
  3765. </tr>
  3766. <tr class="entry_cont">
  3767. <td class="entry_details" colspan="5">
  3768. <p>Not all the auto-white-balance modes may be supported by a
  3769. given camera device.<wbr/> This entry lists the valid modes for
  3770. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
  3771. <p>All camera devices will support ON mode.<wbr/></p>
  3772. <p>Camera devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability will always support OFF
  3773. mode,<wbr/> which enables application control of white balance,<wbr/> by using
  3774. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>(<a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> must be set to TRANSFORM_<wbr/>MATRIX).<wbr/> This includes all FULL
  3775. mode camera devices.<wbr/></p>
  3776. </td>
  3777. </tr>
  3778. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3779. <!-- end of entry -->
  3780. <tr class="entry" id="static_android.control.maxRegions">
  3781. <td class="entry_name
  3782. " rowspan="1">
  3783. android.<wbr/>control.<wbr/>max<wbr/>Regions
  3784. </td>
  3785. <td class="entry_type">
  3786. <span class="entry_type_name">int32</span>
  3787. <span class="entry_type_container">x</span>
  3788. <span class="entry_type_array">
  3789. 3
  3790. </span>
  3791. <span class="entry_type_visibility"> [hidden]</span>
  3792. <span class="entry_type_hwlevel">[legacy] </span>
  3793. </td> <!-- entry_type -->
  3794. <td class="entry_description">
  3795. <p>List of the maximum number of regions that can be used for metering in
  3796. auto-exposure (AE),<wbr/> auto-white balance (AWB),<wbr/> and auto-focus (AF);
  3797. this corresponds to the the maximum number of elements in
  3798. <a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a>,<wbr/> <a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a>,<wbr/>
  3799. and <a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a>.<wbr/></p>
  3800. </td>
  3801. <td class="entry_units">
  3802. </td>
  3803. <td class="entry_range">
  3804. <p>Value must be &gt;= 0 for each element.<wbr/> For full-capability devices
  3805. this value must be &gt;= 1 for AE and AF.<wbr/> The order of the elements is:
  3806. <code>(AE,<wbr/> AWB,<wbr/> AF)</code>.<wbr/></p>
  3807. </td>
  3808. <td class="entry_tags">
  3809. <ul class="entry_tags">
  3810. <li><a href="#tag_BC">BC</a></li>
  3811. </ul>
  3812. </td>
  3813. </tr>
  3814. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3815. <!-- end of entry -->
  3816. <tr class="entry" id="static_android.control.maxRegionsAe">
  3817. <td class="entry_name
  3818. " rowspan="5">
  3819. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae
  3820. </td>
  3821. <td class="entry_type">
  3822. <span class="entry_type_name">int32</span>
  3823. <span class="entry_type_visibility"> [public]</span>
  3824. <span class="entry_type_synthetic">[synthetic] </span>
  3825. <span class="entry_type_hwlevel">[legacy] </span>
  3826. </td> <!-- entry_type -->
  3827. <td class="entry_description">
  3828. <p>The maximum number of metering regions that can be used by the auto-exposure (AE)
  3829. routine.<wbr/></p>
  3830. </td>
  3831. <td class="entry_units">
  3832. </td>
  3833. <td class="entry_range">
  3834. <p>Value will be &gt;= 0.<wbr/> For FULL-capability devices,<wbr/> this
  3835. value will be &gt;= 1.<wbr/></p>
  3836. </td>
  3837. <td class="entry_tags">
  3838. </td>
  3839. </tr>
  3840. <tr class="entries_header">
  3841. <th class="th_details" colspan="5">Details</th>
  3842. </tr>
  3843. <tr class="entry_cont">
  3844. <td class="entry_details" colspan="5">
  3845. <p>This corresponds to the the maximum allowed number of elements in
  3846. <a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a>.<wbr/></p>
  3847. </td>
  3848. </tr>
  3849. <tr class="entries_header">
  3850. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3851. </tr>
  3852. <tr class="entry_cont">
  3853. <td class="entry_details" colspan="5">
  3854. <p>This entry is private to the framework.<wbr/> Fill in
  3855. maxRegions to have this entry be automatically populated.<wbr/></p>
  3856. </td>
  3857. </tr>
  3858. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3859. <!-- end of entry -->
  3860. <tr class="entry" id="static_android.control.maxRegionsAwb">
  3861. <td class="entry_name
  3862. " rowspan="5">
  3863. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb
  3864. </td>
  3865. <td class="entry_type">
  3866. <span class="entry_type_name">int32</span>
  3867. <span class="entry_type_visibility"> [public]</span>
  3868. <span class="entry_type_synthetic">[synthetic] </span>
  3869. <span class="entry_type_hwlevel">[legacy] </span>
  3870. </td> <!-- entry_type -->
  3871. <td class="entry_description">
  3872. <p>The maximum number of metering regions that can be used by the auto-white balance (AWB)
  3873. routine.<wbr/></p>
  3874. </td>
  3875. <td class="entry_units">
  3876. </td>
  3877. <td class="entry_range">
  3878. <p>Value will be &gt;= 0.<wbr/></p>
  3879. </td>
  3880. <td class="entry_tags">
  3881. </td>
  3882. </tr>
  3883. <tr class="entries_header">
  3884. <th class="th_details" colspan="5">Details</th>
  3885. </tr>
  3886. <tr class="entry_cont">
  3887. <td class="entry_details" colspan="5">
  3888. <p>This corresponds to the the maximum allowed number of elements in
  3889. <a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a>.<wbr/></p>
  3890. </td>
  3891. </tr>
  3892. <tr class="entries_header">
  3893. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3894. </tr>
  3895. <tr class="entry_cont">
  3896. <td class="entry_details" colspan="5">
  3897. <p>This entry is private to the framework.<wbr/> Fill in
  3898. maxRegions to have this entry be automatically populated.<wbr/></p>
  3899. </td>
  3900. </tr>
  3901. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3902. <!-- end of entry -->
  3903. <tr class="entry" id="static_android.control.maxRegionsAf">
  3904. <td class="entry_name
  3905. " rowspan="5">
  3906. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af
  3907. </td>
  3908. <td class="entry_type">
  3909. <span class="entry_type_name">int32</span>
  3910. <span class="entry_type_visibility"> [public]</span>
  3911. <span class="entry_type_synthetic">[synthetic] </span>
  3912. <span class="entry_type_hwlevel">[legacy] </span>
  3913. </td> <!-- entry_type -->
  3914. <td class="entry_description">
  3915. <p>The maximum number of metering regions that can be used by the auto-focus (AF) routine.<wbr/></p>
  3916. </td>
  3917. <td class="entry_units">
  3918. </td>
  3919. <td class="entry_range">
  3920. <p>Value will be &gt;= 0.<wbr/> For FULL-capability devices,<wbr/> this
  3921. value will be &gt;= 1.<wbr/></p>
  3922. </td>
  3923. <td class="entry_tags">
  3924. </td>
  3925. </tr>
  3926. <tr class="entries_header">
  3927. <th class="th_details" colspan="5">Details</th>
  3928. </tr>
  3929. <tr class="entry_cont">
  3930. <td class="entry_details" colspan="5">
  3931. <p>This corresponds to the the maximum allowed number of elements in
  3932. <a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a>.<wbr/></p>
  3933. </td>
  3934. </tr>
  3935. <tr class="entries_header">
  3936. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3937. </tr>
  3938. <tr class="entry_cont">
  3939. <td class="entry_details" colspan="5">
  3940. <p>This entry is private to the framework.<wbr/> Fill in
  3941. maxRegions to have this entry be automatically populated.<wbr/></p>
  3942. </td>
  3943. </tr>
  3944. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3945. <!-- end of entry -->
  3946. <tr class="entry" id="static_android.control.sceneModeOverrides">
  3947. <td class="entry_name
  3948. " rowspan="5">
  3949. android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
  3950. </td>
  3951. <td class="entry_type">
  3952. <span class="entry_type_name">byte</span>
  3953. <span class="entry_type_container">x</span>
  3954. <span class="entry_type_array">
  3955. 3 x length(availableSceneModes)
  3956. </span>
  3957. <span class="entry_type_visibility"> [system]</span>
  3958. <span class="entry_type_hwlevel">[limited] </span>
  3959. </td> <!-- entry_type -->
  3960. <td class="entry_description">
  3961. <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
  3962. settings to use with each available scene mode.<wbr/></p>
  3963. </td>
  3964. <td class="entry_units">
  3965. </td>
  3966. <td class="entry_range">
  3967. <p>For each available scene mode,<wbr/> the list must contain three
  3968. entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3969. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values used
  3970. by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
  3971. where aeMode has the lowest index position.<wbr/></p>
  3972. </td>
  3973. <td class="entry_tags">
  3974. <ul class="entry_tags">
  3975. <li><a href="#tag_BC">BC</a></li>
  3976. </ul>
  3977. </td>
  3978. </tr>
  3979. <tr class="entries_header">
  3980. <th class="th_details" colspan="5">Details</th>
  3981. </tr>
  3982. <tr class="entry_cont">
  3983. <td class="entry_details" colspan="5">
  3984. <p>When a scene mode is enabled,<wbr/> the camera device is expected
  3985. to override <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/>
  3986. and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
  3987. that scene mode.<wbr/></p>
  3988. <p>The order of this list matches that of availableSceneModes,<wbr/>
  3989. with 3 entries for each mode.<wbr/> The overrides listed
  3990. for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
  3991. mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3992. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> values are
  3993. used instead,<wbr/> matching the behavior when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>
  3994. is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
  3995. overrides should be set to 0.<wbr/></p>
  3996. <p>For example,<wbr/> if availableSceneModes contains
  3997. <code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
  3998. expects sceneModeOverrides to have 9 entries formatted like:
  3999. <code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
  4000. ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
  4001. </td>
  4002. </tr>
  4003. <tr class="entries_header">
  4004. <th class="th_details" colspan="5">HAL Implementation Details</th>
  4005. </tr>
  4006. <tr class="entry_cont">
  4007. <td class="entry_details" colspan="5">
  4008. <p>To maintain backward compatibility,<wbr/> this list will be made available
  4009. in the static metadata of the camera service.<wbr/> The camera service will
  4010. use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  4011. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> when using a scene
  4012. mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
  4013. </td>
  4014. </tr>
  4015. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  4016. <!-- end of entry -->
  4017. <tr class="entry" id="static_android.control.availableHighSpeedVideoConfigurations">
  4018. <td class="entry_name
  4019. " rowspan="5">
  4020. android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations
  4021. </td>
  4022. <td class="entry_type">
  4023. <span class="entry_type_name">int32</span>
  4024. <span class="entry_type_container">x</span>
  4025. <span class="entry_type_array">
  4026. 4 x n
  4027. </span>
  4028. <span class="entry_type_visibility"> [hidden as highSpeedVideoConfiguration]</span>
  4029. <span class="entry_type_hwlevel">[limited] </span>
  4030. </td> <!-- entry_type -->
  4031. <td class="entry_description">
  4032. <p>List of available high speed video size and fps range configurations
  4033. supported by the camera device,<wbr/> in the format of (width,<wbr/> height,<wbr/> fps_<wbr/>min,<wbr/> fps_<wbr/>max).<wbr/></p>
  4034. </td>
  4035. <td class="entry_units">
  4036. </td>
  4037. <td class="entry_range">
  4038. <p>For each configuration,<wbr/> the fps_<wbr/>max &gt;= 60fps.<wbr/></p>
  4039. </td>
  4040. <td class="entry_tags">
  4041. <ul class="entry_tags">
  4042. <li><a href="#tag_V1">V1</a></li>
  4043. </ul>
  4044. </td>
  4045. </tr>
  4046. <tr class="entries_header">
  4047. <th class="th_details" colspan="5">Details</th>
  4048. </tr>
  4049. <tr class="entry_cont">
  4050. <td class="entry_details" colspan="5">
  4051. <p>When HIGH_<wbr/>SPEED_<wbr/>VIDEO is supported in <a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a>,<wbr/>
  4052. this metadata will list the supported high speed video size and fps range
  4053. configurations.<wbr/> All the sizes listed in this configuration will be a subset
  4054. of the sizes reported by StreamConfigurationMap#getOutputSizes for processed
  4055. non-stalling formats.<wbr/></p>
  4056. <p>For the high speed video use case,<wbr/> where the application will set
  4057. <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> to HIGH_<wbr/>SPEED_<wbr/>VIDEO in capture requests,<wbr/> the application must
  4058. select the video size and fps range from this metadata to configure the recording and
  4059. preview streams and setup the recording requests.<wbr/> For example,<wbr/> if the application intends
  4060. to do high speed recording,<wbr/> it can select the maximum size reported by this metadata to
  4061. configure output streams.<wbr/> Once the size is selected,<wbr/> application can filter this metadata
  4062. by selected size and get the supported fps ranges,<wbr/> and use these fps ranges to setup the
  4063. recording requests.<wbr/> Note that for the use case of multiple output streams,<wbr/> application
  4064. must select one unique size from this metadata to use.<wbr/> Otherwise a request error might
  4065. occur.<wbr/></p>
  4066. <p>For normal video recording use case,<wbr/> where some application will NOT set
  4067. <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a> to HIGH_<wbr/>SPEED_<wbr/>VIDEO in capture requests,<wbr/> the fps ranges
  4068. reported in this metadata must not be used to setup capture requests,<wbr/> or it will cause
  4069. request error.<wbr/></p>
  4070. </td>
  4071. </tr>
  4072. <tr class="entries_header">
  4073. <th class="th_details" colspan="5">HAL Implementation Details</th>
  4074. </tr>
  4075. <tr class="entry_cont">
  4076. <td class="entry_details" colspan="5">
  4077. <p>All the sizes listed in this configuration will be a subset of the sizes reported by
  4078. <a href="#static_android.scaler.availableStreamConfigurations">android.<wbr/>scaler.<wbr/>available<wbr/>Stream<wbr/>Configurations</a> for processed non-stalling output formats.<wbr/>
  4079. Note that for all high speed video configurations,<wbr/> HAL must be able to support a minimum
  4080. of two streams,<wbr/> though the application might choose to configure just one stream.<wbr/></p>
  4081. <p>Since the HIGH_<wbr/>SPEED_<wbr/>VIDEO mode may be turned on for preview view only case,<wbr/> the preview
  4082. fps is bounded by device refresh rate (e.<wbr/>g.<wbr/> 60fps).<wbr/> For a given resolution,<wbr/> it is
  4083. recommended that this list includes some fps ranges (e.<wbr/>g.<wbr/> [30,<wbr/> 60]) that is suitable
  4084. for preview only streaming case.<wbr/></p>
  4085. </td>
  4086. </tr>
  4087. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  4088. <!-- end of entry -->
  4089. <!-- end of kind -->
  4090. </tbody>
  4091. <tr><td colspan="6" class="kind">dynamic</td></tr>
  4092. <thead class="entries_header">
  4093. <tr>
  4094. <th class="th_name">Property Name</th>
  4095. <th class="th_type">Type</th>
  4096. <th class="th_description">Description</th>
  4097. <th class="th_units">Units</th>
  4098. <th class="th_range">Range</th>
  4099. <th clas