GoogleGit

blob: 0674494ede0360641caa71cb1348456a57c1e1b5 [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/> All camera devices will support either OFF or FAST mode.<wbr/></p>
  1625. <p>Camera devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability will always list
  1626. OFF mode.<wbr/> This includes all FULL level devices.<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. condition.<wbr/> This is the default mode if AUTO is
  1679. available on given camera device.<wbr/></p></span>
  1680. </li>
  1681. </ul>
  1682. </td> <!-- entry_type -->
  1683. <td class="entry_description">
  1684. <p>The desired setting for the camera device's auto-exposure
  1685. algorithm's antibanding compensation.<wbr/></p>
  1686. </td>
  1687. <td class="entry_units">
  1688. </td>
  1689. <td class="entry_range">
  1690. <p><a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a></p>
  1691. </td>
  1692. <td class="entry_tags">
  1693. <ul class="entry_tags">
  1694. <li><a href="#tag_BC">BC</a></li>
  1695. </ul>
  1696. </td>
  1697. </tr>
  1698. <tr class="entries_header">
  1699. <th class="th_details" colspan="5">Details</th>
  1700. </tr>
  1701. <tr class="entry_cont">
  1702. <td class="entry_details" colspan="5">
  1703. <p>Some kinds of lighting fixtures,<wbr/> such as some fluorescent
  1704. lights,<wbr/> flicker at the rate of the power supply frequency
  1705. (60Hz or 50Hz,<wbr/> depending on country).<wbr/> While this is
  1706. typically not noticeable to a person,<wbr/> it can be visible to
  1707. a camera device.<wbr/> If a camera sets its exposure time to the
  1708. wrong value,<wbr/> the flicker may become visible in the
  1709. viewfinder as flicker or in a final captured image,<wbr/> as a
  1710. set of variable-brightness bands across the image.<wbr/></p>
  1711. <p>Therefore,<wbr/> the auto-exposure routines of camera devices
  1712. include antibanding routines that ensure that the chosen
  1713. exposure value will not cause such banding.<wbr/> The choice of
  1714. exposure time depends on the rate of flicker,<wbr/> which the
  1715. camera device can detect automatically,<wbr/> or the expected
  1716. rate can be selected by the application using this
  1717. control.<wbr/></p>
  1718. <p>A given camera device may not support all of the possible
  1719. options for the antibanding mode.<wbr/> The
  1720. <a href="#static_android.control.aeAvailableAntibandingModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes</a> key contains
  1721. the available modes for a given camera device.<wbr/></p>
  1722. <p>AUTO mode is the default if it is available on given
  1723. camera device.<wbr/> When AUTO mode is not available,<wbr/> the
  1724. default will be either 50HZ or 60HZ,<wbr/> and both 50HZ
  1725. and 60HZ will be available.<wbr/></p>
  1726. <p>If manual exposure control is enabled (by setting
  1727. <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/>
  1728. then this setting has no effect,<wbr/> and the application must
  1729. ensure it selects exposure times that do not cause banding
  1730. issues.<wbr/> The <a href="#dynamic_android.statistics.sceneFlicker">android.<wbr/>statistics.<wbr/>scene<wbr/>Flicker</a> key can assist
  1731. the application in this.<wbr/></p>
  1732. </td>
  1733. </tr>
  1734. <tr class="entries_header">
  1735. <th class="th_details" colspan="5">HAL Implementation Details</th>
  1736. </tr>
  1737. <tr class="entry_cont">
  1738. <td class="entry_details" colspan="5">
  1739. <p>For all capture request templates,<wbr/> this field must be set
  1740. to AUTO if AUTO mode is available.<wbr/> If AUTO is not available,<wbr/>
  1741. the default must be either 50HZ or 60HZ,<wbr/> and both 50HZ and
  1742. 60HZ must be available.<wbr/></p>
  1743. <p>If manual exposure control is enabled (by setting
  1744. <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/>
  1745. then the exposure values provided by the application must not be
  1746. adjusted for antibanding.<wbr/></p>
  1747. </td>
  1748. </tr>
  1749. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1750. <!-- end of entry -->
  1751. <tr class="entry" id="controls_android.control.aeExposureCompensation">
  1752. <td class="entry_name
  1753. " rowspan="3">
  1754. android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation
  1755. </td>
  1756. <td class="entry_type">
  1757. <span class="entry_type_name">int32</span>
  1758. <span class="entry_type_visibility"> [public]</span>
  1759. <span class="entry_type_hwlevel">[legacy] </span>
  1760. </td> <!-- entry_type -->
  1761. <td class="entry_description">
  1762. <p>Adjustment to auto-exposure (AE) target image
  1763. brightness.<wbr/></p>
  1764. </td>
  1765. <td class="entry_units">
  1766. Compensation steps
  1767. </td>
  1768. <td class="entry_range">
  1769. <p><a href="#static_android.control.aeCompensationRange">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range</a></p>
  1770. </td>
  1771. <td class="entry_tags">
  1772. <ul class="entry_tags">
  1773. <li><a href="#tag_BC">BC</a></li>
  1774. </ul>
  1775. </td>
  1776. </tr>
  1777. <tr class="entries_header">
  1778. <th class="th_details" colspan="5">Details</th>
  1779. </tr>
  1780. <tr class="entry_cont">
  1781. <td class="entry_details" colspan="5">
  1782. <p>The adjustment is measured as a count of steps,<wbr/> with the
  1783. step size defined by <a href="#static_android.control.aeCompensationStep">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step</a> and the
  1784. allowed range by <a href="#static_android.control.aeCompensationRange">android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range</a>.<wbr/></p>
  1785. <p>For example,<wbr/> if the exposure value (EV) step is 0.<wbr/>333,<wbr/> '6'
  1786. will mean an exposure compensation of +2 EV; -3 will mean an
  1787. exposure compensation of -1 EV.<wbr/> One EV represents a doubling
  1788. of image brightness.<wbr/> Note that this control will only be
  1789. effective if <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> <code>!=</code> OFF.<wbr/> This control
  1790. will take effect even when <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> <code>== true</code>.<wbr/></p>
  1791. <p>In the event of exposure compensation value being changed,<wbr/> camera device
  1792. may take several frames to reach the newly requested exposure target.<wbr/>
  1793. During that time,<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> field will be in the SEARCHING
  1794. 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
  1795. change from SEARCHING to either CONVERGED,<wbr/> LOCKED (if AE lock is enabled),<wbr/> or
  1796. FLASH_<wbr/>REQUIRED (if the scene is too dark for still capture).<wbr/></p>
  1797. </td>
  1798. </tr>
  1799. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1800. <!-- end of entry -->
  1801. <tr class="entry" id="controls_android.control.aeLock">
  1802. <td class="entry_name
  1803. " rowspan="3">
  1804. android.<wbr/>control.<wbr/>ae<wbr/>Lock
  1805. </td>
  1806. <td class="entry_type">
  1807. <span class="entry_type_name entry_type_name_enum">byte</span>
  1808. <span class="entry_type_visibility"> [public as boolean]</span>
  1809. <span class="entry_type_hwlevel">[legacy] </span>
  1810. <ul class="entry_type_enum">
  1811. <li>
  1812. <span class="entry_type_enum_name">OFF</span>
  1813. <span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
  1814. is free to update its parameters.<wbr/></p></span>
  1815. </li>
  1816. <li>
  1817. <span class="entry_type_enum_name">ON</span>
  1818. <span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
  1819. must not update the exposure and sensitivity parameters
  1820. while the lock is active.<wbr/></p>
  1821. <p><a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a> setting changes
  1822. will still take effect while auto-exposure is locked.<wbr/></p>
  1823. <p>Some rare LEGACY devices may not support
  1824. this,<wbr/> in which case the value will always be overridden to OFF.<wbr/></p></span>
  1825. </li>
  1826. </ul>
  1827. </td> <!-- entry_type -->
  1828. <td class="entry_description">
  1829. <p>Whether auto-exposure (AE) is currently locked to its latest
  1830. calculated values.<wbr/></p>
  1831. </td>
  1832. <td class="entry_units">
  1833. </td>
  1834. <td class="entry_range">
  1835. </td>
  1836. <td class="entry_tags">
  1837. <ul class="entry_tags">
  1838. <li><a href="#tag_BC">BC</a></li>
  1839. </ul>
  1840. </td>
  1841. </tr>
  1842. <tr class="entries_header">
  1843. <th class="th_details" colspan="5">Details</th>
  1844. </tr>
  1845. <tr class="entry_cont">
  1846. <td class="entry_details" colspan="5">
  1847. <p>When set to <code>true</code> (ON),<wbr/> the AE algorithm is locked to its latest parameters,<wbr/>
  1848. and will not change exposure settings until the lock is set to <code>false</code> (OFF).<wbr/></p>
  1849. <p>Note that even when AE is locked,<wbr/> the flash may be fired if
  1850. the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/>
  1851. ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
  1852. <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
  1853. is ON,<wbr/> the camera device will still adjust its exposure value.<wbr/></p>
  1854. <p>If AE precapture is triggered (see <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>)
  1855. when AE is already locked,<wbr/> the camera device will not change the exposure time
  1856. (<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>)
  1857. parameters.<wbr/> The flash may be fired if the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>
  1858. is ON_<wbr/>AUTO_<wbr/>FLASH/<wbr/>ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE and the scene is too dark.<wbr/> If the
  1859. <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>
  1860. <p>Since the camera device has a pipeline of in-flight requests,<wbr/> the settings that
  1861. get locked do not necessarily correspond to the settings that were present in the
  1862. latest capture result received from the camera device,<wbr/> since additional captures
  1863. and AE updates may have occurred even before the result was sent out.<wbr/> If an
  1864. application is switching between automatic and manual control and wishes to eliminate
  1865. any flicker during the switch,<wbr/> the following procedure is recommended:</p>
  1866. <ol>
  1867. <li>Starting in auto-AE mode:</li>
  1868. <li>Lock AE</li>
  1869. <li>Wait for the first result to be output that has the AE locked</li>
  1870. <li>Copy exposure settings from that result into a request,<wbr/> set the request to manual AE</li>
  1871. <li>Submit the capture request,<wbr/> proceed to run manual AE as desired.<wbr/></li>
  1872. </ol>
  1873. <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>
  1874. </td>
  1875. </tr>
  1876. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1877. <!-- end of entry -->
  1878. <tr class="entry" id="controls_android.control.aeMode">
  1879. <td class="entry_name
  1880. " rowspan="3">
  1881. android.<wbr/>control.<wbr/>ae<wbr/>Mode
  1882. </td>
  1883. <td class="entry_type">
  1884. <span class="entry_type_name entry_type_name_enum">byte</span>
  1885. <span class="entry_type_visibility"> [public]</span>
  1886. <span class="entry_type_hwlevel">[legacy] </span>
  1887. <ul class="entry_type_enum">
  1888. <li>
  1889. <span class="entry_type_enum_name">OFF</span>
  1890. <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
  1891. <p>The application-selected <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1892. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a> and
  1893. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are used by the camera
  1894. device,<wbr/> along with android.<wbr/>flash.<wbr/>* fields,<wbr/> if there's
  1895. a flash unit for this camera device.<wbr/></p>
  1896. <p>Note that auto-white balance (AWB) and auto-focus (AF)
  1897. behavior is device dependent when AE is in OFF mode.<wbr/>
  1898. To have consistent behavior across different devices,<wbr/>
  1899. it is recommended to either set AWB and AF to OFF mode
  1900. or lock AWB and AF before setting AE to OFF.<wbr/>
  1901. See <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a>,<wbr/> <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a>,<wbr/>
  1902. <a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a>,<wbr/> and <a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a>
  1903. for more details.<wbr/></p>
  1904. <p>LEGACY devices do not support the OFF mode and will
  1905. override attempts to use this value to ON.<wbr/></p></span>
  1906. </li>
  1907. <li>
  1908. <span class="entry_type_enum_name">ON</span>
  1909. <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
  1910. with no flash control.<wbr/></p>
  1911. <p>The application's values for
  1912. <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1913. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
  1914. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a> are ignored.<wbr/> The
  1915. application has control over the various
  1916. android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
  1917. </li>
  1918. <li>
  1919. <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
  1920. <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
  1921. the camera's flash unit,<wbr/> firing it in low-light
  1922. conditions.<wbr/></p>
  1923. <p>The flash may be fired during a precapture sequence
  1924. (triggered by <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and
  1925. may be fired for captures for which the
  1926. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
  1927. STILL_<wbr/>CAPTURE</p></span>
  1928. </li>
  1929. <li>
  1930. <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
  1931. <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
  1932. the camera's flash unit,<wbr/> always firing it for still
  1933. captures.<wbr/></p>
  1934. <p>The flash may be fired during a precapture sequence
  1935. (triggered by <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>) and
  1936. will always be fired for captures for which the
  1937. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> field is set to
  1938. STILL_<wbr/>CAPTURE</p></span>
  1939. </li>
  1940. <li>
  1941. <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
  1942. <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
  1943. reduction.<wbr/></p>
  1944. <p>If deemed necessary by the camera device,<wbr/> a red eye
  1945. reduction flash will fire during the precapture
  1946. sequence.<wbr/></p></span>
  1947. </li>
  1948. </ul>
  1949. </td> <!-- entry_type -->
  1950. <td class="entry_description">
  1951. <p>The desired mode for the camera device's
  1952. auto-exposure routine.<wbr/></p>
  1953. </td>
  1954. <td class="entry_units">
  1955. </td>
  1956. <td class="entry_range">
  1957. <p><a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a></p>
  1958. </td>
  1959. <td class="entry_tags">
  1960. <ul class="entry_tags">
  1961. <li><a href="#tag_BC">BC</a></li>
  1962. </ul>
  1963. </td>
  1964. </tr>
  1965. <tr class="entries_header">
  1966. <th class="th_details" colspan="5">Details</th>
  1967. </tr>
  1968. <tr class="entry_cont">
  1969. <td class="entry_details" colspan="5">
  1970. <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is
  1971. AUTO.<wbr/></p>
  1972. <p>When set to any of the ON modes,<wbr/> the camera device's
  1973. auto-exposure routine is enabled,<wbr/> overriding the
  1974. application's selected exposure time,<wbr/> sensor sensitivity,<wbr/>
  1975. and frame duration (<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>,<wbr/>
  1976. <a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>,<wbr/> and
  1977. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>).<wbr/> If one of the FLASH modes
  1978. is selected,<wbr/> the camera device's flash unit controls are
  1979. also overridden.<wbr/></p>
  1980. <p>The FLASH modes are only available if the camera device
  1981. 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>
  1982. <p>If flash TORCH mode is desired,<wbr/> this field must be set to
  1983. ON or OFF,<wbr/> and <a href="#controls_android.flash.mode">android.<wbr/>flash.<wbr/>mode</a> set to TORCH.<wbr/></p>
  1984. <p>When set to any of the ON modes,<wbr/> the values chosen by the
  1985. camera device auto-exposure routine for the overridden
  1986. fields for a given capture will be available in its
  1987. CaptureResult.<wbr/></p>
  1988. </td>
  1989. </tr>
  1990. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  1991. <!-- end of entry -->
  1992. <tr class="entry" id="controls_android.control.aeRegions">
  1993. <td class="entry_name
  1994. " rowspan="5">
  1995. android.<wbr/>control.<wbr/>ae<wbr/>Regions
  1996. </td>
  1997. <td class="entry_type">
  1998. <span class="entry_type_name">int32</span>
  1999. <span class="entry_type_container">x</span>
  2000. <span class="entry_type_array">
  2001. 5 x area_count
  2002. </span>
  2003. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  2004. </td> <!-- entry_type -->
  2005. <td class="entry_description">
  2006. <p>List of metering areas to use for auto-exposure adjustment.<wbr/></p>
  2007. </td>
  2008. <td class="entry_units">
  2009. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  2010. </td>
  2011. <td class="entry_range">
  2012. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2013. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2014. </td>
  2015. <td class="entry_tags">
  2016. <ul class="entry_tags">
  2017. <li><a href="#tag_BC">BC</a></li>
  2018. </ul>
  2019. </td>
  2020. </tr>
  2021. <tr class="entries_header">
  2022. <th class="th_details" colspan="5">Details</th>
  2023. </tr>
  2024. <tr class="entry_cont">
  2025. <td class="entry_details" colspan="5">
  2026. <p>Not available if <a href="#static_android.control.maxRegionsAe">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae</a> is 0.<wbr/>
  2027. Otherwise will always be present.<wbr/></p>
  2028. <p>The maximum number of regions supported by the device is determined by the value
  2029. of <a href="#static_android.control.maxRegionsAe">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae</a>.<wbr/></p>
  2030. <p>The coordinate system is based on the active pixel array,<wbr/>
  2031. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2032. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2033. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2034. bottom-right pixel in the active pixel array.<wbr/></p>
  2035. <p>The weight must be within <code>[0,<wbr/> 1000]</code>,<wbr/> and represents a weight
  2036. for every pixel in the area.<wbr/> This means that a large metering area
  2037. with the same weight as a smaller area will have more effect in
  2038. the metering result.<wbr/> Metering areas can partially overlap and the
  2039. camera device will add the weights in the overlap region.<wbr/></p>
  2040. <p>The weights are relative to weights of other exposure metering regions,<wbr/> so if only one
  2041. region is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0
  2042. weight is ignored.<wbr/></p>
  2043. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2044. camera device.<wbr/></p>
  2045. <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
  2046. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2047. region and output only the intersection rectangle as the metering region in the result
  2048. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2049. not reported in the result metadata.<wbr/></p>
  2050. </td>
  2051. </tr>
  2052. <tr class="entries_header">
  2053. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2054. </tr>
  2055. <tr class="entry_cont">
  2056. <td class="entry_details" colspan="5">
  2057. <p>The HAL level representation of MeteringRectangle[] is a
  2058. int[5 * area_<wbr/>count].<wbr/>
  2059. Every five elements represent a metering region of
  2060. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2061. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2062. exclusive on xmax and ymax.<wbr/></p>
  2063. </td>
  2064. </tr>
  2065. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2066. <!-- end of entry -->
  2067. <tr class="entry" id="controls_android.control.aeTargetFpsRange">
  2068. <td class="entry_name
  2069. " rowspan="3">
  2070. android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range
  2071. </td>
  2072. <td class="entry_type">
  2073. <span class="entry_type_name">int32</span>
  2074. <span class="entry_type_container">x</span>
  2075. <span class="entry_type_array">
  2076. 2
  2077. </span>
  2078. <span class="entry_type_visibility"> [public as rangeInt]</span>
  2079. <span class="entry_type_hwlevel">[legacy] </span>
  2080. </td> <!-- entry_type -->
  2081. <td class="entry_description">
  2082. <p>Range over which the auto-exposure routine can
  2083. adjust the capture frame rate to maintain good
  2084. exposure.<wbr/></p>
  2085. </td>
  2086. <td class="entry_units">
  2087. Frames per second (FPS)
  2088. </td>
  2089. <td class="entry_range">
  2090. <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>
  2091. </td>
  2092. <td class="entry_tags">
  2093. <ul class="entry_tags">
  2094. <li><a href="#tag_BC">BC</a></li>
  2095. </ul>
  2096. </td>
  2097. </tr>
  2098. <tr class="entries_header">
  2099. <th class="th_details" colspan="5">Details</th>
  2100. </tr>
  2101. <tr class="entry_cont">
  2102. <td class="entry_details" colspan="5">
  2103. <p>Only constrains auto-exposure (AE) algorithm,<wbr/> not
  2104. manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a> and
  2105. <a href="#controls_android.sensor.frameDuration">android.<wbr/>sensor.<wbr/>frame<wbr/>Duration</a>.<wbr/></p>
  2106. </td>
  2107. </tr>
  2108. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2109. <!-- end of entry -->
  2110. <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
  2111. <td class="entry_name
  2112. " rowspan="3">
  2113. android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger
  2114. </td>
  2115. <td class="entry_type">
  2116. <span class="entry_type_name entry_type_name_enum">byte</span>
  2117. <span class="entry_type_visibility"> [public]</span>
  2118. <span class="entry_type_hwlevel">[limited] </span>
  2119. <ul class="entry_type_enum">
  2120. <li>
  2121. <span class="entry_type_enum_name">IDLE</span>
  2122. <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
  2123. </li>
  2124. <li>
  2125. <span class="entry_type_enum_name">START</span>
  2126. <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
  2127. by the camera device.<wbr/></p>
  2128. <p>The exact effect of the precapture trigger depends on
  2129. the current AE mode and state.<wbr/></p></span>
  2130. </li>
  2131. </ul>
  2132. </td> <!-- entry_type -->
  2133. <td class="entry_description">
  2134. <p>Whether the camera device will trigger a precapture
  2135. metering sequence when it processes this request.<wbr/></p>
  2136. </td>
  2137. <td class="entry_units">
  2138. </td>
  2139. <td class="entry_range">
  2140. </td>
  2141. <td class="entry_tags">
  2142. <ul class="entry_tags">
  2143. <li><a href="#tag_BC">BC</a></li>
  2144. </ul>
  2145. </td>
  2146. </tr>
  2147. <tr class="entries_header">
  2148. <th class="th_details" colspan="5">Details</th>
  2149. </tr>
  2150. <tr class="entry_cont">
  2151. <td class="entry_details" colspan="5">
  2152. <p>This entry is normally set to IDLE,<wbr/> or is not
  2153. included at all in the request settings.<wbr/> When included and
  2154. set to START,<wbr/> the camera device will trigger the auto-exposure (AE)
  2155. precapture metering sequence.<wbr/></p>
  2156. <p>The precapture sequence should be triggered before starting a
  2157. high-quality still capture for final metering decisions to
  2158. be made,<wbr/> and for firing pre-capture flash pulses to estimate
  2159. scene brightness and required final capture flash power,<wbr/> when
  2160. the flash is enabled.<wbr/></p>
  2161. <p>Normally,<wbr/> this entry should be set to START for only a
  2162. single request,<wbr/> and the application should wait until the
  2163. sequence completes before starting a new one.<wbr/></p>
  2164. <p>When a precapture metering sequence is finished,<wbr/> the camera device
  2165. may lock the auto-exposure routine internally to be able to accurately expose the
  2166. subsequent still capture image (<code><a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE</code>).<wbr/>
  2167. For this case,<wbr/> the AE may not resume normal scan if no subsequent still capture is
  2168. submitted.<wbr/> To ensure that the AE routine restarts normal scan,<wbr/> the application should
  2169. submit a request with <code><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> == true</code>,<wbr/> followed by a request
  2170. with <code><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> == false</code>,<wbr/> if the application decides not to submit a
  2171. still capture request after the precapture sequence completes.<wbr/></p>
  2172. <p>The exact effect of auto-exposure (AE) precapture trigger
  2173. depends on the current AE mode and state; see
  2174. <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE precapture state transition
  2175. details.<wbr/></p>
  2176. <p>On LEGACY-level devices,<wbr/> the precapture trigger is not supported;
  2177. capturing a high-resolution JPEG image will automatically trigger a
  2178. precapture sequence before the high-resolution capture,<wbr/> including
  2179. potentially firing a pre-capture flash.<wbr/></p>
  2180. </td>
  2181. </tr>
  2182. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2183. <!-- end of entry -->
  2184. <tr class="entry" id="controls_android.control.afMode">
  2185. <td class="entry_name
  2186. " rowspan="5">
  2187. android.<wbr/>control.<wbr/>af<wbr/>Mode
  2188. </td>
  2189. <td class="entry_type">
  2190. <span class="entry_type_name entry_type_name_enum">byte</span>
  2191. <span class="entry_type_visibility"> [public]</span>
  2192. <span class="entry_type_hwlevel">[legacy] </span>
  2193. <ul class="entry_type_enum">
  2194. <li>
  2195. <span class="entry_type_enum_name">OFF</span>
  2196. <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
  2197. <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
  2198. application.<wbr/></p></span>
  2199. </li>
  2200. <li>
  2201. <span class="entry_type_enum_name">AUTO</span>
  2202. <span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
  2203. <p>In this mode,<wbr/> the lens does not move unless
  2204. the autofocus trigger action is called.<wbr/> When that trigger
  2205. is activated,<wbr/> AF will transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
  2206. the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/></p>
  2207. <p>Always supported if lens is not fixed focus.<wbr/></p>
  2208. <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
  2209. is fixed-focus.<wbr/></p>
  2210. <p>Triggering AF_<wbr/>CANCEL resets the lens position to default,<wbr/>
  2211. and sets the AF state to INACTIVE.<wbr/></p></span>
  2212. </li>
  2213. <li>
  2214. <span class="entry_type_enum_name">MACRO</span>
  2215. <span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
  2216. <p>In this mode,<wbr/> the lens does not move unless the
  2217. autofocus trigger action is called.<wbr/> When that trigger is
  2218. activated,<wbr/> AF will transition to ACTIVE_<wbr/>SCAN,<wbr/> then to
  2219. the outcome of the scan (FOCUSED or NOT_<wbr/>FOCUSED).<wbr/> This
  2220. mode is optimized for focusing on objects very close to
  2221. the camera.<wbr/></p>
  2222. <p>When that trigger is activated,<wbr/> AF will transition to
  2223. ACTIVE_<wbr/>SCAN,<wbr/> then to the outcome of the scan (FOCUSED or
  2224. NOT_<wbr/>FOCUSED).<wbr/> Triggering cancel AF resets the lens
  2225. position to default,<wbr/> and sets the AF state to
  2226. INACTIVE.<wbr/></p></span>
  2227. </li>
  2228. <li>
  2229. <span class="entry_type_enum_name">CONTINUOUS_VIDEO</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 good quality
  2234. video recording; typically this means slower focus
  2235. movement and no overshoots.<wbr/> When the AF trigger is not
  2236. involved,<wbr/> the AF algorithm should start in INACTIVE state,<wbr/>
  2237. and then transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED
  2238. states as appropriate.<wbr/> When the AF trigger is activated,<wbr/>
  2239. the algorithm should immediately transition into
  2240. AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
  2241. lens position until a cancel AF trigger is received.<wbr/></p>
  2242. <p>Once cancel is received,<wbr/> the algorithm should transition
  2243. back to INACTIVE and resume passive scan.<wbr/> Note that this
  2244. behavior is not identical to CONTINUOUS_<wbr/>PICTURE,<wbr/> since an
  2245. ongoing PASSIVE_<wbr/>SCAN must immediately be
  2246. canceled.<wbr/></p></span>
  2247. </li>
  2248. <li>
  2249. <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
  2250. <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
  2251. position continually to attempt to provide a
  2252. constantly-in-focus image stream.<wbr/></p>
  2253. <p>The focusing behavior should be suitable for still image
  2254. capture; typically this means focusing as fast as
  2255. possible.<wbr/> When the AF trigger is not involved,<wbr/> the AF
  2256. algorithm should start in INACTIVE state,<wbr/> and then
  2257. transition into PASSIVE_<wbr/>SCAN and PASSIVE_<wbr/>FOCUSED states as
  2258. appropriate as it attempts to maintain focus.<wbr/> When the AF
  2259. trigger is activated,<wbr/> the algorithm should finish its
  2260. PASSIVE_<wbr/>SCAN if active,<wbr/> and then transition into
  2261. AF_<wbr/>FOCUSED or AF_<wbr/>NOT_<wbr/>FOCUSED as appropriate,<wbr/> and lock the
  2262. lens position until a cancel AF trigger is received.<wbr/></p>
  2263. <p>When the AF cancel trigger is activated,<wbr/> the algorithm
  2264. should transition back to INACTIVE and then act as if it
  2265. has just been started.<wbr/></p></span>
  2266. </li>
  2267. <li>
  2268. <span class="entry_type_enum_name">EDOF</span>
  2269. <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
  2270. <p>The camera device will produce images with an extended
  2271. depth of field automatically; no special focusing
  2272. operations need to be done before taking a picture.<wbr/></p>
  2273. <p>AF triggers are ignored,<wbr/> and the AF state will always be
  2274. INACTIVE.<wbr/></p></span>
  2275. </li>
  2276. </ul>
  2277. </td> <!-- entry_type -->
  2278. <td class="entry_description">
  2279. <p>Whether auto-focus (AF) is currently enabled,<wbr/> and what
  2280. mode it is set to.<wbr/></p>
  2281. </td>
  2282. <td class="entry_units">
  2283. </td>
  2284. <td class="entry_range">
  2285. <p><a href="#static_android.control.afAvailableModes">android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes</a></p>
  2286. </td>
  2287. <td class="entry_tags">
  2288. <ul class="entry_tags">
  2289. <li><a href="#tag_BC">BC</a></li>
  2290. </ul>
  2291. </td>
  2292. </tr>
  2293. <tr class="entries_header">
  2294. <th class="th_details" colspan="5">Details</th>
  2295. </tr>
  2296. <tr class="entry_cont">
  2297. <td class="entry_details" colspan="5">
  2298. <p>Only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> = AUTO and the lens is not fixed focus
  2299. (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/> Also note that
  2300. when <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is OFF,<wbr/> the behavior of AF is device
  2301. dependent.<wbr/> It is recommended to lock AF by using <a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a> before
  2302. setting <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> to OFF,<wbr/> or set AF mode to OFF when AE is OFF.<wbr/></p>
  2303. <p>If the lens is controlled by the camera device auto-focus algorithm,<wbr/>
  2304. the camera device will report the current AF status in <a href="#dynamic_android.control.afState">android.<wbr/>control.<wbr/>af<wbr/>State</a>
  2305. in result metadata.<wbr/></p>
  2306. </td>
  2307. </tr>
  2308. <tr class="entries_header">
  2309. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2310. </tr>
  2311. <tr class="entry_cont">
  2312. <td class="entry_details" colspan="5">
  2313. <p>When afMode is AUTO or MACRO,<wbr/> the lens must not move until an AF trigger is sent in a
  2314. 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
  2315. up with either FOCUSED_<wbr/>LOCKED or NOT_<wbr/>FOCUSED_<wbr/>LOCKED state (see
  2316. <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
  2317. locked and will not move.<wbr/> If camera movement (e.<wbr/>g.<wbr/> tilting camera) causes the lens to move
  2318. after the lens is locked,<wbr/> the HAL must compensate this movement appropriately such that
  2319. the same focal plane remains in focus.<wbr/></p>
  2320. <p>When afMode is one of the continuous auto focus modes,<wbr/> the HAL is free to start a AF
  2321. scan whenever it's not locked.<wbr/> When the lens is locked after an AF trigger
  2322. (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
  2323. same lock behavior as above.<wbr/></p>
  2324. <p>When afMode is OFF,<wbr/> the application controls focus manually.<wbr/> The accuracy of the
  2325. 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/>
  2326. However,<wbr/> the lens must not move regardless of the camera movement for any focus distance
  2327. manual control.<wbr/></p>
  2328. <p>To put this in concrete terms,<wbr/> if the camera has lens elements which may move based on
  2329. camera orientation or motion (e.<wbr/>g.<wbr/> due to gravity),<wbr/> then the HAL must drive the lens to
  2330. remain in a fixed position invariant to the camera's orientation or motion,<wbr/> for example,<wbr/>
  2331. by using accelerometer measurements in the lens control logic.<wbr/> This is a typical issue
  2332. that will arise on camera modules with open-loop VCMs.<wbr/></p>
  2333. </td>
  2334. </tr>
  2335. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2336. <!-- end of entry -->
  2337. <tr class="entry" id="controls_android.control.afRegions">
  2338. <td class="entry_name
  2339. " rowspan="5">
  2340. android.<wbr/>control.<wbr/>af<wbr/>Regions
  2341. </td>
  2342. <td class="entry_type">
  2343. <span class="entry_type_name">int32</span>
  2344. <span class="entry_type_container">x</span>
  2345. <span class="entry_type_array">
  2346. 5 x area_count
  2347. </span>
  2348. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  2349. </td> <!-- entry_type -->
  2350. <td class="entry_description">
  2351. <p>List of metering areas to use for auto-focus.<wbr/></p>
  2352. </td>
  2353. <td class="entry_units">
  2354. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  2355. </td>
  2356. <td class="entry_range">
  2357. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2358. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2359. </td>
  2360. <td class="entry_tags">
  2361. <ul class="entry_tags">
  2362. <li><a href="#tag_BC">BC</a></li>
  2363. </ul>
  2364. </td>
  2365. </tr>
  2366. <tr class="entries_header">
  2367. <th class="th_details" colspan="5">Details</th>
  2368. </tr>
  2369. <tr class="entry_cont">
  2370. <td class="entry_details" colspan="5">
  2371. <p>Not available if <a href="#static_android.control.maxRegionsAf">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af</a> is 0.<wbr/>
  2372. Otherwise will always be present.<wbr/></p>
  2373. <p>The maximum number of focus areas supported by the device is determined by the value
  2374. of <a href="#static_android.control.maxRegionsAf">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af</a>.<wbr/></p>
  2375. <p>The coordinate system is based on the active pixel array,<wbr/>
  2376. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2377. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2378. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2379. bottom-right pixel in the active pixel array.<wbr/></p>
  2380. <p>The weight must be within <code>[0,<wbr/> 1000]</code>,<wbr/> and represents a weight
  2381. for every pixel in the area.<wbr/> This means that a large metering area
  2382. with the same weight as a smaller area will have more effect in
  2383. the metering result.<wbr/> Metering areas can partially overlap and the
  2384. camera device will add the weights in the overlap region.<wbr/></p>
  2385. <p>The weights are relative to weights of other metering regions,<wbr/> so if only one region
  2386. is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0 weight is
  2387. ignored.<wbr/></p>
  2388. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2389. camera device.<wbr/></p>
  2390. <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
  2391. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2392. region and output only the intersection rectangle as the metering region in the result
  2393. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2394. not reported in the result metadata.<wbr/></p>
  2395. </td>
  2396. </tr>
  2397. <tr class="entries_header">
  2398. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2399. </tr>
  2400. <tr class="entry_cont">
  2401. <td class="entry_details" colspan="5">
  2402. <p>The HAL level representation of MeteringRectangle[] is a
  2403. int[5 * area_<wbr/>count].<wbr/>
  2404. Every five elements represent a metering region of
  2405. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2406. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2407. exclusive on xmax and ymax.<wbr/></p>
  2408. </td>
  2409. </tr>
  2410. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2411. <!-- end of entry -->
  2412. <tr class="entry" id="controls_android.control.afTrigger">
  2413. <td class="entry_name
  2414. " rowspan="3">
  2415. android.<wbr/>control.<wbr/>af<wbr/>Trigger
  2416. </td>
  2417. <td class="entry_type">
  2418. <span class="entry_type_name entry_type_name_enum">byte</span>
  2419. <span class="entry_type_visibility"> [public]</span>
  2420. <span class="entry_type_hwlevel">[legacy] </span>
  2421. <ul class="entry_type_enum">
  2422. <li>
  2423. <span class="entry_type_enum_name">IDLE</span>
  2424. <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
  2425. </li>
  2426. <li>
  2427. <span class="entry_type_enum_name">START</span>
  2428. <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
  2429. </li>
  2430. <li>
  2431. <span class="entry_type_enum_name">CANCEL</span>
  2432. <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
  2433. state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
  2434. </li>
  2435. </ul>
  2436. </td> <!-- entry_type -->
  2437. <td class="entry_description">
  2438. <p>Whether the camera device will trigger autofocus for this request.<wbr/></p>
  2439. </td>
  2440. <td class="entry_units">
  2441. </td>
  2442. <td class="entry_range">
  2443. </td>
  2444. <td class="entry_tags">
  2445. <ul class="entry_tags">
  2446. <li><a href="#tag_BC">BC</a></li>
  2447. </ul>
  2448. </td>
  2449. </tr>
  2450. <tr class="entries_header">
  2451. <th class="th_details" colspan="5">Details</th>
  2452. </tr>
  2453. <tr class="entry_cont">
  2454. <td class="entry_details" colspan="5">
  2455. <p>This entry is normally set to IDLE,<wbr/> or is not
  2456. included at all in the request settings.<wbr/></p>
  2457. <p>When included and set to START,<wbr/> the camera device will trigger the
  2458. autofocus algorithm.<wbr/> If autofocus is disabled,<wbr/> this trigger has no effect.<wbr/></p>
  2459. <p>When set to CANCEL,<wbr/> the camera device will cancel any active trigger,<wbr/>
  2460. and return to its initial AF state.<wbr/></p>
  2461. <p>Generally,<wbr/> applications should set this entry to START or CANCEL for only a
  2462. single capture,<wbr/> and then return it to IDLE (or not set at all).<wbr/> Specifying
  2463. START for multiple captures in a row means restarting the AF operation over
  2464. and over again.<wbr/></p>
  2465. <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>
  2466. </td>
  2467. </tr>
  2468. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2469. <!-- end of entry -->
  2470. <tr class="entry" id="controls_android.control.awbLock">
  2471. <td class="entry_name
  2472. " rowspan="3">
  2473. android.<wbr/>control.<wbr/>awb<wbr/>Lock
  2474. </td>
  2475. <td class="entry_type">
  2476. <span class="entry_type_name entry_type_name_enum">byte</span>
  2477. <span class="entry_type_visibility"> [public as boolean]</span>
  2478. <span class="entry_type_hwlevel">[legacy] </span>
  2479. <ul class="entry_type_enum">
  2480. <li>
  2481. <span class="entry_type_enum_name">OFF</span>
  2482. <span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
  2483. algorithm is free to update its parameters if in AUTO
  2484. mode.<wbr/></p></span>
  2485. </li>
  2486. <li>
  2487. <span class="entry_type_enum_name">ON</span>
  2488. <span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
  2489. algorithm will not update its parameters while the lock
  2490. is active.<wbr/></p></span>
  2491. </li>
  2492. </ul>
  2493. </td> <!-- entry_type -->
  2494. <td class="entry_description">
  2495. <p>Whether auto-white balance (AWB) is currently locked to its
  2496. latest calculated values.<wbr/></p>
  2497. </td>
  2498. <td class="entry_units">
  2499. </td>
  2500. <td class="entry_range">
  2501. </td>
  2502. <td class="entry_tags">
  2503. <ul class="entry_tags">
  2504. <li><a href="#tag_BC">BC</a></li>
  2505. </ul>
  2506. </td>
  2507. </tr>
  2508. <tr class="entries_header">
  2509. <th class="th_details" colspan="5">Details</th>
  2510. </tr>
  2511. <tr class="entry_cont">
  2512. <td class="entry_details" colspan="5">
  2513. <p>When set to <code>true</code> (ON),<wbr/> the AWB algorithm is locked to its latest parameters,<wbr/>
  2514. and will not change color balance settings until the lock is set to <code>false</code> (OFF).<wbr/></p>
  2515. <p>Since the camera device has a pipeline of in-flight requests,<wbr/> the settings that
  2516. get locked do not necessarily correspond to the settings that were present in the
  2517. latest capture result received from the camera device,<wbr/> since additional captures
  2518. and AWB updates may have occurred even before the result was sent out.<wbr/> If an
  2519. application is switching between automatic and manual control and wishes to eliminate
  2520. any flicker during the switch,<wbr/> the following procedure is recommended:</p>
  2521. <ol>
  2522. <li>Starting in auto-AWB mode:</li>
  2523. <li>Lock AWB</li>
  2524. <li>Wait for the first result to be output that has the AWB locked</li>
  2525. <li>Copy AWB settings from that result into a request,<wbr/> set the request to manual AWB</li>
  2526. <li>Submit the capture request,<wbr/> proceed to run manual AWB as desired.<wbr/></li>
  2527. </ol>
  2528. <p>Note that AWB lock is only meaningful when
  2529. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> is in the AUTO mode; in other modes,<wbr/>
  2530. AWB is already fixed to a specific setting.<wbr/></p>
  2531. <p>Some LEGACY devices may not support ON; the value is then overridden to OFF.<wbr/></p>
  2532. </td>
  2533. </tr>
  2534. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2535. <!-- end of entry -->
  2536. <tr class="entry" id="controls_android.control.awbMode">
  2537. <td class="entry_name
  2538. " rowspan="3">
  2539. android.<wbr/>control.<wbr/>awb<wbr/>Mode
  2540. </td>
  2541. <td class="entry_type">
  2542. <span class="entry_type_name entry_type_name_enum">byte</span>
  2543. <span class="entry_type_visibility"> [public]</span>
  2544. <span class="entry_type_hwlevel">[legacy] </span>
  2545. <ul class="entry_type_enum">
  2546. <li>
  2547. <span class="entry_type_enum_name">OFF</span>
  2548. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
  2549. <p>The application-selected color transform matrix
  2550. (<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
  2551. (<a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a>) are used by the camera
  2552. device for manual white balance control.<wbr/></p></span>
  2553. </li>
  2554. <li>
  2555. <span class="entry_type_enum_name">AUTO</span>
  2556. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
  2557. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2558. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2559. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2560. values used by the camera device for the transform and gains
  2561. will be available in the capture result for this request.<wbr/></p></span>
  2562. </li>
  2563. <li>
  2564. <span class="entry_type_enum_name">INCANDESCENT</span>
  2565. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2566. the camera device uses incandescent light as the assumed scene
  2567. illumination for white balance.<wbr/></p>
  2568. <p>While the exact white balance transforms are up to the
  2569. camera device,<wbr/> they will approximately match the CIE
  2570. standard illuminant A.<wbr/></p>
  2571. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2572. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2573. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2574. values used by the camera device for the transform and gains
  2575. will be available in the capture result for this request.<wbr/></p></span>
  2576. </li>
  2577. <li>
  2578. <span class="entry_type_enum_name">FLUORESCENT</span>
  2579. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2580. the camera device uses fluorescent light as the assumed scene
  2581. illumination for white balance.<wbr/></p>
  2582. <p>While the exact white balance transforms are up to the
  2583. camera device,<wbr/> they will approximately match the CIE
  2584. standard illuminant F2.<wbr/></p>
  2585. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2586. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2587. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2588. values used by the camera device for the transform and gains
  2589. will be available in the capture result for this request.<wbr/></p></span>
  2590. </li>
  2591. <li>
  2592. <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
  2593. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2594. the camera device uses warm fluorescent light as the assumed scene
  2595. illumination for white balance.<wbr/></p>
  2596. <p>While the exact white balance transforms are up to the
  2597. camera device,<wbr/> they will approximately match the CIE
  2598. standard illuminant F4.<wbr/></p>
  2599. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2600. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2601. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2602. values used by the camera device for the transform and gains
  2603. will be available in the capture result for this request.<wbr/></p></span>
  2604. </li>
  2605. <li>
  2606. <span class="entry_type_enum_name">DAYLIGHT</span>
  2607. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2608. the camera device uses daylight light as the assumed scene
  2609. illumination for white balance.<wbr/></p>
  2610. <p>While the exact white balance transforms are up to the
  2611. camera device,<wbr/> they will approximately match the CIE
  2612. standard illuminant D65.<wbr/></p>
  2613. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2614. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2615. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2616. values used by the camera device for the transform and gains
  2617. will be available in the capture result for this request.<wbr/></p></span>
  2618. </li>
  2619. <li>
  2620. <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
  2621. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2622. the camera device uses cloudy daylight light as the assumed scene
  2623. illumination for white balance.<wbr/></p>
  2624. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2625. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2626. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2627. values used by the camera device for the transform and gains
  2628. will be available in the capture result for this request.<wbr/></p></span>
  2629. </li>
  2630. <li>
  2631. <span class="entry_type_enum_name">TWILIGHT</span>
  2632. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2633. the camera device uses twilight light as the assumed scene
  2634. illumination for white balance.<wbr/></p>
  2635. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2636. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2637. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2638. values used by the camera device for the transform and gains
  2639. will be available in the capture result for this request.<wbr/></p></span>
  2640. </li>
  2641. <li>
  2642. <span class="entry_type_enum_name">SHADE</span>
  2643. <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
  2644. the camera device uses shade light as the assumed scene
  2645. illumination for white balance.<wbr/></p>
  2646. <p>The application's values for <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>
  2647. and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> are ignored.<wbr/>
  2648. For devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability,<wbr/> the
  2649. values used by the camera device for the transform and gains
  2650. will be available in the capture result for this request.<wbr/></p></span>
  2651. </li>
  2652. </ul>
  2653. </td> <!-- entry_type -->
  2654. <td class="entry_description">
  2655. <p>Whether auto-white balance (AWB) is currently setting the color
  2656. transform fields,<wbr/> and what its illumination target
  2657. is.<wbr/></p>
  2658. </td>
  2659. <td class="entry_units">
  2660. </td>
  2661. <td class="entry_range">
  2662. <p><a href="#static_android.control.awbAvailableModes">android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes</a></p>
  2663. </td>
  2664. <td class="entry_tags">
  2665. <ul class="entry_tags">
  2666. <li><a href="#tag_BC">BC</a></li>
  2667. </ul>
  2668. </td>
  2669. </tr>
  2670. <tr class="entries_header">
  2671. <th class="th_details" colspan="5">Details</th>
  2672. </tr>
  2673. <tr class="entry_cont">
  2674. <td class="entry_details" colspan="5">
  2675. <p>This control is only effective if <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> is AUTO.<wbr/></p>
  2676. <p>When set to the ON mode,<wbr/> the camera device's auto-white balance
  2677. routine is enabled,<wbr/> overriding the application's selected
  2678. <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
  2679. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/> Note that when <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>
  2680. is OFF,<wbr/> the behavior of AWB is device dependent.<wbr/> It is recommened to
  2681. also set AWB mode to OFF or lock AWB by using <a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> before
  2682. setting AE mode to OFF.<wbr/></p>
  2683. <p>When set to the OFF mode,<wbr/> the camera device's auto-white balance
  2684. routine is disabled.<wbr/> The application manually controls the white
  2685. 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>
  2686. and <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a>.<wbr/></p>
  2687. <p>When set to any other modes,<wbr/> the camera device's auto-white
  2688. balance routine is disabled.<wbr/> The camera device uses each
  2689. particular illumination target for white balance
  2690. adjustment.<wbr/> The application's values for
  2691. <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>,<wbr/>
  2692. <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> and
  2693. <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> are ignored.<wbr/></p>
  2694. </td>
  2695. </tr>
  2696. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2697. <!-- end of entry -->
  2698. <tr class="entry" id="controls_android.control.awbRegions">
  2699. <td class="entry_name
  2700. " rowspan="5">
  2701. android.<wbr/>control.<wbr/>awb<wbr/>Regions
  2702. </td>
  2703. <td class="entry_type">
  2704. <span class="entry_type_name">int32</span>
  2705. <span class="entry_type_container">x</span>
  2706. <span class="entry_type_array">
  2707. 5 x area_count
  2708. </span>
  2709. <span class="entry_type_visibility"> [public as meteringRectangle]</span>
  2710. </td> <!-- entry_type -->
  2711. <td class="entry_description">
  2712. <p>List of metering areas to use for auto-white-balance illuminant
  2713. estimation.<wbr/></p>
  2714. </td>
  2715. <td class="entry_units">
  2716. Pixel coordinates within android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size
  2717. </td>
  2718. <td class="entry_range">
  2719. <p>Coordinates must be between <code>[(0,<wbr/>0),<wbr/> (width,<wbr/> height))</code> of
  2720. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></p>
  2721. </td>
  2722. <td class="entry_tags">
  2723. <ul class="entry_tags">
  2724. <li><a href="#tag_BC">BC</a></li>
  2725. </ul>
  2726. </td>
  2727. </tr>
  2728. <tr class="entries_header">
  2729. <th class="th_details" colspan="5">Details</th>
  2730. </tr>
  2731. <tr class="entry_cont">
  2732. <td class="entry_details" colspan="5">
  2733. <p>Not available if <a href="#static_android.control.maxRegionsAwb">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb</a> is 0.<wbr/>
  2734. Otherwise will always be present.<wbr/></p>
  2735. <p>The maximum number of regions supported by the device is determined by the value
  2736. of <a href="#static_android.control.maxRegionsAwb">android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb</a>.<wbr/></p>
  2737. <p>The coordinate system is based on the active pixel array,<wbr/>
  2738. with (0,<wbr/>0) being the top-left pixel in the active pixel array,<wbr/> and
  2739. (<a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>width - 1,<wbr/>
  2740. <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a>.<wbr/>height - 1) being the
  2741. bottom-right pixel in the active pixel array.<wbr/></p>
  2742. <p>The weight must range from 0 to 1000,<wbr/> and represents a weight
  2743. for every pixel in the area.<wbr/> This means that a large metering area
  2744. with the same weight as a smaller area will have more effect in
  2745. the metering result.<wbr/> Metering areas can partially overlap and the
  2746. camera device will add the weights in the overlap region.<wbr/></p>
  2747. <p>The weights are relative to weights of other white balance metering regions,<wbr/> so if
  2748. only one region is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with
  2749. 0 weight is ignored.<wbr/></p>
  2750. <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
  2751. camera device.<wbr/></p>
  2752. <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
  2753. capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
  2754. region and output only the intersection rectangle as the metering region in the result
  2755. metadata.<wbr/> If the region is entirely outside the crop region,<wbr/> it will be ignored and
  2756. not reported in the result metadata.<wbr/></p>
  2757. </td>
  2758. </tr>
  2759. <tr class="entries_header">
  2760. <th class="th_details" colspan="5">HAL Implementation Details</th>
  2761. </tr>
  2762. <tr class="entry_cont">
  2763. <td class="entry_details" colspan="5">
  2764. <p>The HAL level representation of MeteringRectangle[] is a
  2765. int[5 * area_<wbr/>count].<wbr/>
  2766. Every five elements represent a metering region of
  2767. (xmin,<wbr/> ymin,<wbr/> xmax,<wbr/> ymax,<wbr/> weight).<wbr/>
  2768. The rectangle is defined to be inclusive on xmin and ymin,<wbr/> but
  2769. exclusive on xmax and ymax.<wbr/></p>
  2770. </td>
  2771. </tr>
  2772. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2773. <!-- end of entry -->
  2774. <tr class="entry" id="controls_android.control.captureIntent">
  2775. <td class="entry_name
  2776. " rowspan="3">
  2777. android.<wbr/>control.<wbr/>capture<wbr/>Intent
  2778. </td>
  2779. <td class="entry_type">
  2780. <span class="entry_type_name entry_type_name_enum">byte</span>
  2781. <span class="entry_type_visibility"> [public]</span>
  2782. <span class="entry_type_hwlevel">[legacy] </span>
  2783. <ul class="entry_type_enum">
  2784. <li>
  2785. <span class="entry_type_enum_name">CUSTOM</span>
  2786. <span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
  2787. categories.<wbr/> The camera device will default to preview-like
  2788. behavior.<wbr/></p></span>
  2789. </li>
  2790. <li>
  2791. <span class="entry_type_enum_name">PREVIEW</span>
  2792. <span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
  2793. <p>The precapture trigger may be used to start off a metering
  2794. w/<wbr/>flash sequence.<wbr/></p></span>
  2795. </li>
  2796. <li>
  2797. <span class="entry_type_enum_name">STILL_CAPTURE</span>
  2798. <span class="entry_type_enum_notes"><p>This request is for a still capture-type
  2799. use case.<wbr/></p>
  2800. <p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
  2801. </li>
  2802. <li>
  2803. <span class="entry_type_enum_name">VIDEO_RECORD</span>
  2804. <span class="entry_type_enum_notes"><p>This request is for a video recording
  2805. use case.<wbr/></p></span>
  2806. </li>
  2807. <li>
  2808. <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
  2809. <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
  2810. image while recording video) use case.<wbr/></p>
  2811. <p>The camera device should take the highest-quality image
  2812. possible (given the other settings) without disrupting the
  2813. frame rate of video recording.<wbr/> </p></span>
  2814. </li>
  2815. <li>
  2816. <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
  2817. <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
  2818. application will stream full-resolution images and
  2819. reprocess one or several later for a final
  2820. capture.<wbr/></p></span>
  2821. </li>
  2822. <li>
  2823. <span class="entry_type_enum_name">MANUAL</span>
  2824. <span class="entry_type_enum_notes"><p>This request is for manual capture use case where
  2825. the applications want to directly control the capture parameters.<wbr/></p>
  2826. <p>For example,<wbr/> the application may wish to manually control
  2827. <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>
  2828. </li>
  2829. </ul>
  2830. </td> <!-- entry_type -->
  2831. <td class="entry_description">
  2832. <p>Information to the camera device 3A (auto-exposure,<wbr/>
  2833. auto-focus,<wbr/> auto-white balance) routines about the purpose
  2834. of this capture,<wbr/> to help the camera device to decide optimal 3A
  2835. strategy.<wbr/></p>
  2836. </td>
  2837. <td class="entry_units">
  2838. </td>
  2839. <td class="entry_range">
  2840. </td>
  2841. <td class="entry_tags">
  2842. <ul class="entry_tags">
  2843. <li><a href="#tag_BC">BC</a></li>
  2844. </ul>
  2845. </td>
  2846. </tr>
  2847. <tr class="entries_header">
  2848. <th class="th_details" colspan="5">Details</th>
  2849. </tr>
  2850. <tr class="entry_cont">
  2851. <td class="entry_details" colspan="5">
  2852. <p>This control (except for MANUAL) is only effective if
  2853. <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code> and any 3A routine is active.<wbr/></p>
  2854. <p>ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
  2855. contains ZSL.<wbr/> MANUAL will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
  2856. contains MANUAL_<wbr/>SENSOR.<wbr/> Other intent values are always supported.<wbr/></p>
  2857. </td>
  2858. </tr>
  2859. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2860. <!-- end of entry -->
  2861. <tr class="entry" id="controls_android.control.effectMode">
  2862. <td class="entry_name
  2863. " rowspan="3">
  2864. android.<wbr/>control.<wbr/>effect<wbr/>Mode
  2865. </td>
  2866. <td class="entry_type">
  2867. <span class="entry_type_name entry_type_name_enum">byte</span>
  2868. <span class="entry_type_visibility"> [public]</span>
  2869. <span class="entry_type_hwlevel">[legacy] </span>
  2870. <ul class="entry_type_enum">
  2871. <li>
  2872. <span class="entry_type_enum_name">OFF</span>
  2873. <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
  2874. </li>
  2875. <li>
  2876. <span class="entry_type_enum_name">MONO</span>
  2877. <span class="entry_type_enum_optional">[optional]</span>
  2878. <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
  2879. a single color.<wbr/></p>
  2880. <p>This will typically be grayscale.<wbr/></p></span>
  2881. </li>
  2882. <li>
  2883. <span class="entry_type_enum_name">NEGATIVE</span>
  2884. <span class="entry_type_enum_optional">[optional]</span>
  2885. <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
  2886. are inverted.<wbr/></p></span>
  2887. </li>
  2888. <li>
  2889. <span class="entry_type_enum_name">SOLARIZE</span>
  2890. <span class="entry_type_enum_optional">[optional]</span>
  2891. <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
  2892. image is wholly or partially reversed in
  2893. tone.<wbr/></p></span>
  2894. </li>
  2895. <li>
  2896. <span class="entry_type_enum_name">SEPIA</span>
  2897. <span class="entry_type_enum_optional">[optional]</span>
  2898. <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
  2899. gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
  2900. </li>
  2901. <li>
  2902. <span class="entry_type_enum_name">POSTERIZE</span>
  2903. <span class="entry_type_enum_optional">[optional]</span>
  2904. <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
  2905. discrete regions of tone rather than a continuous
  2906. gradient of tones.<wbr/></p></span>
  2907. </li>
  2908. <li>
  2909. <span class="entry_type_enum_name">WHITEBOARD</span>
  2910. <span class="entry_type_enum_optional">[optional]</span>
  2911. <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
  2912. as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
  2913. </li>
  2914. <li>
  2915. <span class="entry_type_enum_name">BLACKBOARD</span>
  2916. <span class="entry_type_enum_optional">[optional]</span>
  2917. <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
  2918. as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
  2919. </li>
  2920. <li>
  2921. <span class="entry_type_enum_name">AQUA</span>
  2922. <span class="entry_type_enum_optional">[optional]</span>
  2923. <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
  2924. </li>
  2925. </ul>
  2926. </td> <!-- entry_type -->
  2927. <td class="entry_description">
  2928. <p>A special color effect to apply.<wbr/></p>
  2929. </td>
  2930. <td class="entry_units">
  2931. </td>
  2932. <td class="entry_range">
  2933. <p><a href="#static_android.control.availableEffects">android.<wbr/>control.<wbr/>available<wbr/>Effects</a></p>
  2934. </td>
  2935. <td class="entry_tags">
  2936. <ul class="entry_tags">
  2937. <li><a href="#tag_BC">BC</a></li>
  2938. </ul>
  2939. </td>
  2940. </tr>
  2941. <tr class="entries_header">
  2942. <th class="th_details" colspan="5">Details</th>
  2943. </tr>
  2944. <tr class="entry_cont">
  2945. <td class="entry_details" colspan="5">
  2946. <p>When this mode is set,<wbr/> a color effect will be applied
  2947. to images produced by the camera device.<wbr/> The interpretation
  2948. and implementation of these color effects is left to the
  2949. implementor of the camera device,<wbr/> and should not be
  2950. depended on to be consistent (or present) across all
  2951. devices.<wbr/></p>
  2952. </td>
  2953. </tr>
  2954. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  2955. <!-- end of entry -->
  2956. <tr class="entry" id="controls_android.control.mode">
  2957. <td class="entry_name
  2958. " rowspan="3">
  2959. android.<wbr/>control.<wbr/>mode
  2960. </td>
  2961. <td class="entry_type">
  2962. <span class="entry_type_name entry_type_name_enum">byte</span>
  2963. <span class="entry_type_visibility"> [public]</span>
  2964. <span class="entry_type_hwlevel">[legacy] </span>
  2965. <ul class="entry_type_enum">
  2966. <li>
  2967. <span class="entry_type_enum_name">OFF</span>
  2968. <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
  2969. <p>All control by the device's metering and focusing (3A)
  2970. routines is disabled,<wbr/> and no other settings in
  2971. android.<wbr/>control.<wbr/>* have any effect,<wbr/> except that
  2972. <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> may be used by the camera
  2973. device to select post-processing values for processing
  2974. blocks that do not allow for manual control,<wbr/> or are not
  2975. exposed by the camera API.<wbr/></p>
  2976. <p>However,<wbr/> the camera device's 3A routines may continue to
  2977. collect statistics and update their internal state so that
  2978. when control is switched to AUTO mode,<wbr/> good control values
  2979. can be immediately applied.<wbr/></p></span>
  2980. </li>
  2981. <li>
  2982. <span class="entry_type_enum_name">AUTO</span>
  2983. <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
  2984. <p>Manual control of capture parameters is disabled.<wbr/> All
  2985. controls in android.<wbr/>control.<wbr/>* besides sceneMode take
  2986. effect.<wbr/></p></span>
  2987. </li>
  2988. <li>
  2989. <span class="entry_type_enum_name">USE_SCENE_MODE</span>
  2990. <span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
  2991. <p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
  2992. control.<wbr/>afMode controls; the camera device will ignore
  2993. those settings while USE_<wbr/>SCENE_<wbr/>MODE is active (except for
  2994. FACE_<wbr/>PRIORITY scene mode).<wbr/> Other control entries are still
  2995. active.<wbr/> This setting can only be used if scene mode is
  2996. supported (i.<wbr/>e.<wbr/> <a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a>
  2997. contain some modes other than DISABLED).<wbr/></p></span>
  2998. </li>
  2999. <li>
  3000. <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
  3001. <span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
  3002. used by camera device background auto-exposure,<wbr/> auto-white balance and
  3003. auto-focus algorithms (3A) to update their statistics.<wbr/></p>
  3004. <p>Specifically,<wbr/> the 3A routines are locked to the last
  3005. values set from a request with AUTO,<wbr/> OFF,<wbr/> or
  3006. USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> and any statistics or state updates
  3007. collected from manual captures with OFF_<wbr/>KEEP_<wbr/>STATE will be
  3008. discarded by the camera device.<wbr/></p></span>
  3009. </li>
  3010. </ul>
  3011. </td> <!-- entry_type -->
  3012. <td class="entry_description">
  3013. <p>Overall mode of 3A (auto-exposure,<wbr/> auto-white-balance,<wbr/> auto-focus) control
  3014. routines.<wbr/></p>
  3015. </td>
  3016. <td class="entry_units">
  3017. </td>
  3018. <td class="entry_range">
  3019. </td>
  3020. <td class="entry_tags">
  3021. <ul class="entry_tags">
  3022. <li><a href="#tag_BC">BC</a></li>
  3023. </ul>
  3024. </td>
  3025. </tr>
  3026. <tr class="entries_header">
  3027. <th class="th_details" colspan="5">Details</th>
  3028. </tr>
  3029. <tr class="entry_cont">
  3030. <td class="entry_details" colspan="5">
  3031. <p>This is a top-level 3A control switch.<wbr/> When set to OFF,<wbr/> all 3A control
  3032. by the camera device is disabled.<wbr/> The application must set the fields for
  3033. capture parameters itself.<wbr/></p>
  3034. <p>When set to AUTO,<wbr/> the individual algorithm controls in
  3035. 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>
  3036. <p>When set to USE_<wbr/>SCENE_<wbr/>MODE,<wbr/> the individual controls in
  3037. android.<wbr/>control.<wbr/>* are mostly disabled,<wbr/> and the camera device implements
  3038. one of the scene mode settings (such as ACTION,<wbr/> SUNSET,<wbr/> or PARTY)
  3039. as it wishes.<wbr/> The camera device scene mode 3A settings are provided by
  3040. <a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
  3041. <p>When set to OFF_<wbr/>KEEP_<wbr/>STATE,<wbr/> it is similar to OFF mode,<wbr/> the only difference
  3042. is that this frame will not be used by camera device background 3A statistics
  3043. update,<wbr/> as if this frame is never captured.<wbr/> This mode can be used in the scenario
  3044. where the application doesn't want a 3A manual control capture to affect
  3045. the subsequent auto 3A capture results.<wbr/></p>
  3046. <p>LEGACY mode devices will only support AUTO and USE_<wbr/>SCENE_<wbr/>MODE modes.<wbr/>
  3047. LIMITED mode devices will only support OFF and OFF_<wbr/>KEEP_<wbr/>STATE if they
  3048. support the MANUAL_<wbr/>SENSOR and MANUAL_<wbr/>POST_<wbr/>PROCSESING capabilities.<wbr/>
  3049. FULL mode devices will always support OFF and OFF_<wbr/>KEEP_<wbr/>STATE.<wbr/></p>
  3050. </td>
  3051. </tr>
  3052. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3053. <!-- end of entry -->
  3054. <tr class="entry" id="controls_android.control.sceneMode">
  3055. <td class="entry_name
  3056. " rowspan="5">
  3057. android.<wbr/>control.<wbr/>scene<wbr/>Mode
  3058. </td>
  3059. <td class="entry_type">
  3060. <span class="entry_type_name entry_type_name_enum">byte</span>
  3061. <span class="entry_type_visibility"> [public]</span>
  3062. <span class="entry_type_hwlevel">[legacy] </span>
  3063. <ul class="entry_type_enum">
  3064. <li>
  3065. <span class="entry_type_enum_name">DISABLED</span>
  3066. <span class="entry_type_enum_value">0</span>
  3067. <span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
  3068. </li>
  3069. <li>
  3070. <span class="entry_type_enum_name">FACE_PRIORITY</span>
  3071. <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
  3072. detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
  3073. auto-exposure routines.<wbr/></p>
  3074. <p>If face detection statistics are disabled
  3075. (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/>
  3076. this should still operate correctly (but will not return
  3077. face detection statistics to the framework).<wbr/></p>
  3078. <p>Unlike the other scene modes,<wbr/> <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3079. <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>
  3080. remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
  3081. </li>
  3082. <li>
  3083. <span class="entry_type_enum_name">ACTION</span>
  3084. <span class="entry_type_enum_optional">[optional]</span>
  3085. <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
  3086. <p>Similar to SPORTS.<wbr/></p></span>
  3087. </li>
  3088. <li>
  3089. <span class="entry_type_enum_name">PORTRAIT</span>
  3090. <span class="entry_type_enum_optional">[optional]</span>
  3091. <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
  3092. </li>
  3093. <li>
  3094. <span class="entry_type_enum_name">LANDSCAPE</span>
  3095. <span class="entry_type_enum_optional">[optional]</span>
  3096. <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
  3097. </li>
  3098. <li>
  3099. <span class="entry_type_enum_name">NIGHT</span>
  3100. <span class="entry_type_enum_optional">[optional]</span>
  3101. <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
  3102. </li>
  3103. <li>
  3104. <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
  3105. <span class="entry_type_enum_optional">[optional]</span>
  3106. <span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
  3107. settings.<wbr/></p></span>
  3108. </li>
  3109. <li>
  3110. <span class="entry_type_enum_name">THEATRE</span>
  3111. <span class="entry_type_enum_optional">[optional]</span>
  3112. <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
  3113. remain off.<wbr/></p></span>
  3114. </li>
  3115. <li>
  3116. <span class="entry_type_enum_name">BEACH</span>
  3117. <span class="entry_type_enum_optional">[optional]</span>
  3118. <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
  3119. </li>
  3120. <li>
  3121. <span class="entry_type_enum_name">SNOW</span>
  3122. <span class="entry_type_enum_optional">[optional]</span>
  3123. <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
  3124. </li>
  3125. <li>
  3126. <span class="entry_type_enum_name">SUNSET</span>
  3127. <span class="entry_type_enum_optional">[optional]</span>
  3128. <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
  3129. </li>
  3130. <li>
  3131. <span class="entry_type_enum_name">STEADYPHOTO</span>
  3132. <span class="entry_type_enum_optional">[optional]</span>
  3133. <span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
  3134. device motion (for example: due to hand shake).<wbr/></p></span>
  3135. </li>
  3136. <li>
  3137. <span class="entry_type_enum_name">FIREWORKS</span>
  3138. <span class="entry_type_enum_optional">[optional]</span>
  3139. <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
  3140. </li>
  3141. <li>
  3142. <span class="entry_type_enum_name">SPORTS</span>
  3143. <span class="entry_type_enum_optional">[optional]</span>
  3144. <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
  3145. <p>Similar to ACTION.<wbr/></p></span>
  3146. </li>
  3147. <li>
  3148. <span class="entry_type_enum_name">PARTY</span>
  3149. <span class="entry_type_enum_optional">[optional]</span>
  3150. <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
  3151. people.<wbr/></p></span>
  3152. </li>
  3153. <li>
  3154. <span class="entry_type_enum_name">CANDLELIGHT</span>
  3155. <span class="entry_type_enum_optional">[optional]</span>
  3156. <span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
  3157. is a flame.<wbr/></p></span>
  3158. </li>
  3159. <li>
  3160. <span class="entry_type_enum_name">BARCODE</span>
  3161. <span class="entry_type_enum_optional">[optional]</span>
  3162. <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
  3163. for use by camera applications that wish to read the
  3164. barcode value.<wbr/></p></span>
  3165. </li>
  3166. <li>
  3167. <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
  3168. <span class="entry_type_enum_optional">[optional]</span>
  3169. <span class="entry_type_enum_notes"><p>Optimized for high speed video recording (frame rate &gt;=60fps) use case.<wbr/></p>
  3170. <p>The supported high speed video sizes and fps ranges are specified in
  3171. <a href="#static_android.control.availableHighSpeedVideoConfigurations">android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations</a>.<wbr/> To get desired
  3172. output frame rates,<wbr/> the application is only allowed to select video size
  3173. and fps range combinations listed in this static metadata.<wbr/> The fps range
  3174. can be control via <a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a>.<wbr/></p>
  3175. <p>In this mode,<wbr/> the camera device will override aeMode,<wbr/> awbMode,<wbr/> and afMode to
  3176. ON,<wbr/> ON,<wbr/> and CONTINUOUS_<wbr/>VIDEO,<wbr/> respectively.<wbr/> All post-processing block mode
  3177. controls will be overridden to be FAST.<wbr/> Therefore,<wbr/> no manual control of capture
  3178. and post-processing parameters is possible.<wbr/> All other controls operate the
  3179. same as when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> == AUTO.<wbr/> This means that all other
  3180. android.<wbr/>control.<wbr/>* fields continue to work,<wbr/> such as</p>
  3181. <ul>
  3182. <li><a href="#controls_android.control.aeTargetFpsRange">android.<wbr/>control.<wbr/>ae<wbr/>Target<wbr/>Fps<wbr/>Range</a></li>
  3183. <li><a href="#controls_android.control.aeExposureCompensation">android.<wbr/>control.<wbr/>ae<wbr/>Exposure<wbr/>Compensation</a></li>
  3184. <li><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a></li>
  3185. <li><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a></li>
  3186. <li><a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a></li>
  3187. <li><a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a></li>
  3188. <li><a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a></li>
  3189. <li><a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a></li>
  3190. <li><a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a></li>
  3191. <li><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a></li>
  3192. </ul>
  3193. <p>Outside of android.<wbr/>control.<wbr/>*,<wbr/> the following controls will work:</p>
  3194. <ul>
  3195. <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>
  3196. <li><a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a> (if it is supported)</li>
  3197. <li><a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a></li>
  3198. <li><a href="#controls_android.statistics.faceDetectMode">android.<wbr/>statistics.<wbr/>face<wbr/>Detect<wbr/>Mode</a></li>
  3199. </ul>
  3200. <p>For high speed recording use case,<wbr/> the actual maximum supported frame rate may
  3201. be lower than what camera can output,<wbr/> depending on the destination Surfaces for
  3202. the image data.<wbr/> For example,<wbr/> if the destination surface is from video encoder,<wbr/>
  3203. the application need check if the video encoder is capable of supporting the
  3204. high frame rate for a given video size,<wbr/> or it will end up with lower recording
  3205. frame rate.<wbr/> If the destination surface is from preview window,<wbr/> the preview frame
  3206. rate will be bounded by the screen refresh rate.<wbr/></p>
  3207. <p>The camera device will only support up to 2 output high speed streams
  3208. (processed non-stalling format defined in <a href="#static_android.request.maxNumOutputStreams">android.<wbr/>request.<wbr/>max<wbr/>Num<wbr/>Output<wbr/>Streams</a>)
  3209. in this mode.<wbr/> This control will be effective only if all of below conditions are true:</p>
  3210. <ul>
  3211. <li>The application created no more than maxNumHighSpeedStreams processed non-stalling
  3212. format output streams,<wbr/> where maxNumHighSpeedStreams is calculated as
  3213. 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>
  3214. <li>The stream sizes are selected from the sizes reported by
  3215. <a href="#static_android.control.availableHighSpeedVideoConfigurations">android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations</a>.<wbr/></li>
  3216. <li>No processed non-stalling or raw streams are configured.<wbr/></li>
  3217. </ul>
  3218. <p>When above conditions are NOT satistied,<wbr/> the controls of this mode and
  3219. <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/>
  3220. the camera device will fall back to <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> <code>==</code> AUTO,<wbr/>
  3221. and the returned capture result metadata will give the fps range choosen
  3222. by the camera device.<wbr/></p>
  3223. <p>Switching into or out of this mode may trigger some camera ISP/<wbr/>sensor
  3224. reconfigurations,<wbr/> which may introduce extra latency.<wbr/> It is recommended that
  3225. the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
  3226. </li>
  3227. <li>
  3228. <span class="entry_type_enum_name">HDR</span>
  3229. <span class="entry_type_enum_optional">[optional]</span>
  3230. <span class="entry_type_enum_notes"><p>Turn on a device-specific high dynamic range (HDR) mode.<wbr/></p>
  3231. <p>In this scene mode,<wbr/> the camera device captures images
  3232. that keep a larger range of scene illumination levels
  3233. visible in the final image.<wbr/> For example,<wbr/> when taking a
  3234. picture of a object in front of a bright window,<wbr/> both
  3235. the object and the scene through the window may be
  3236. visible when using HDR mode,<wbr/> while in normal AUTO mode,<wbr/>
  3237. one or the other may be poorly exposed.<wbr/> As a tradeoff,<wbr/>
  3238. HDR mode generally takes much longer to capture a single
  3239. image,<wbr/> has no user control,<wbr/> and may have other artifacts
  3240. depending on the HDR method used.<wbr/></p>
  3241. <p>Therefore,<wbr/> HDR captures operate at a much slower rate
  3242. than regular captures.<wbr/></p>
  3243. <p>In this mode,<wbr/> on LIMITED or FULL devices,<wbr/> when a request
  3244. is made with a <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> of
  3245. STILL_<wbr/>CAPTURE,<wbr/> the camera device will capture an image
  3246. using a high dynamic range capture technique.<wbr/> On LEGACY
  3247. devices,<wbr/> captures that target a JPEG-format output will
  3248. be captured with HDR,<wbr/> and the capture intent is not
  3249. relevant.<wbr/></p>
  3250. <p>The HDR capture may involve the device capturing a burst
  3251. of images internally and combining them into one,<wbr/> or it
  3252. may involve the device using specialized high dynamic
  3253. range capture hardware.<wbr/> In all cases,<wbr/> a single image is
  3254. produced in response to a capture request submitted
  3255. while in HDR mode.<wbr/></p>
  3256. <p>Since substantial post-processing is generally needed to
  3257. produce an HDR image,<wbr/> only YUV and JPEG outputs are
  3258. supported for LIMITED/<wbr/>FULL device HDR captures,<wbr/> and only
  3259. JPEG outputs are supported for LEGACY HDR
  3260. captures.<wbr/> Using a RAW output for HDR capture is not
  3261. supported.<wbr/></p></span>
  3262. </li>
  3263. </ul>
  3264. </td> <!-- entry_type -->
  3265. <td class="entry_description">
  3266. <p>Control for which scene mode is currently active.<wbr/></p>
  3267. </td>
  3268. <td class="entry_units">
  3269. </td>
  3270. <td class="entry_range">
  3271. <p><a href="#static_android.control.availableSceneModes">android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes</a></p>
  3272. </td>
  3273. <td class="entry_tags">
  3274. <ul class="entry_tags">
  3275. <li><a href="#tag_BC">BC</a></li>
  3276. </ul>
  3277. </td>
  3278. </tr>
  3279. <tr class="entries_header">
  3280. <th class="th_details" colspan="5">Details</th>
  3281. </tr>
  3282. <tr class="entry_cont">
  3283. <td class="entry_details" colspan="5">
  3284. <p>Scene modes are custom camera modes optimized for a certain set of conditions and
  3285. capture settings.<wbr/></p>
  3286. <p>This is the mode that that is active when
  3287. <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/>
  3288. these modes will disable <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3289. <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>
  3290. <p>The interpretation and implementation of these scene modes is left
  3291. to the implementor of the camera device.<wbr/> Their behavior will not be
  3292. consistent across all devices,<wbr/> and any given device may only implement
  3293. a subset of these modes.<wbr/></p>
  3294. </td>
  3295. </tr>
  3296. <tr class="entries_header">
  3297. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3298. </tr>
  3299. <tr class="entry_cont">
  3300. <td class="entry_details" colspan="5">
  3301. <p>HAL implementations that include scene modes are expected to provide
  3302. the per-scene settings to use for <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  3303. <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
  3304. <a href="#static_android.control.sceneModeOverrides">android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides</a>.<wbr/></p>
  3305. <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/>
  3306. the HAL must list supported video size and fps range in
  3307. <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/>
  3308. 1280x720,<wbr/> if the HAL has two different sensor configurations for normal streaming
  3309. mode and high speed streaming,<wbr/> when this scene mode is set/<wbr/>reset in a sequence of capture
  3310. requests,<wbr/> the HAL may have to switch between different sensor modes.<wbr/></p>
  3311. </td>
  3312. </tr>
  3313. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3314. <!-- end of entry -->
  3315. <tr class="entry" id="controls_android.control.videoStabilizationMode">
  3316. <td class="entry_name
  3317. " rowspan="3">
  3318. android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode
  3319. </td>
  3320. <td class="entry_type">
  3321. <span class="entry_type_name entry_type_name_enum">byte</span>
  3322. <span class="entry_type_visibility"> [public]</span>
  3323. <span class="entry_type_hwlevel">[legacy] </span>
  3324. <ul class="entry_type_enum">
  3325. <li>
  3326. <span class="entry_type_enum_name">OFF</span>
  3327. <span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
  3328. </li>
  3329. <li>
  3330. <span class="entry_type_enum_name">ON</span>
  3331. <span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
  3332. </li>
  3333. </ul>
  3334. </td> <!-- entry_type -->
  3335. <td class="entry_description">
  3336. <p>Whether video stabilization is
  3337. active.<wbr/></p>
  3338. </td>
  3339. <td class="entry_units">
  3340. </td>
  3341. <td class="entry_range">
  3342. </td>
  3343. <td class="entry_tags">
  3344. <ul class="entry_tags">
  3345. <li><a href="#tag_BC">BC</a></li>
  3346. </ul>
  3347. </td>
  3348. </tr>
  3349. <tr class="entries_header">
  3350. <th class="th_details" colspan="5">Details</th>
  3351. </tr>
  3352. <tr class="entry_cont">
  3353. <td class="entry_details" colspan="5">
  3354. <p>Video stabilization automatically translates and scales images from
  3355. the camera in order to stabilize motion between consecutive frames.<wbr/></p>
  3356. <p>If enabled,<wbr/> video stabilization can modify the
  3357. <a href="#controls_android.scaler.cropRegion">android.<wbr/>scaler.<wbr/>crop<wbr/>Region</a> to keep the video stream stabilized.<wbr/></p>
  3358. <p>Switching between different video stabilization modes may take several
  3359. frames to initialize,<wbr/> the camera device will report the current mode
  3360. in capture result metadata.<wbr/> For example,<wbr/> When "ON" mode is requested,<wbr/>
  3361. the video stabilization modes in the first several capture results may
  3362. still be "OFF",<wbr/> and it will become "ON" when the initialization is
  3363. done.<wbr/></p>
  3364. <p>If a camera device supports both this mode and OIS
  3365. (<a href="#controls_android.lens.opticalStabilizationMode">android.<wbr/>lens.<wbr/>optical<wbr/>Stabilization<wbr/>Mode</a>),<wbr/> turning both modes on may
  3366. produce undesirable interaction,<wbr/> so it is recommended not to enable
  3367. both at the same time.<wbr/></p>
  3368. </td>
  3369. </tr>
  3370. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3371. <!-- end of entry -->
  3372. <!-- end of kind -->
  3373. </tbody>
  3374. <tr><td colspan="6" class="kind">static</td></tr>
  3375. <thead class="entries_header">
  3376. <tr>
  3377. <th class="th_name">Property Name</th>
  3378. <th class="th_type">Type</th>
  3379. <th class="th_description">Description</th>
  3380. <th class="th_units">Units</th>
  3381. <th class="th_range">Range</th>
  3382. <th class="th_tags">Tags</th>
  3383. </tr>
  3384. </thead>
  3385. <tbody>
  3386. <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
  3387. <td class="entry_name
  3388. " rowspan="3">
  3389. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Antibanding<wbr/>Modes
  3390. </td>
  3391. <td class="entry_type">
  3392. <span class="entry_type_name">byte</span>
  3393. <span class="entry_type_container">x</span>
  3394. <span class="entry_type_array">
  3395. n
  3396. </span>
  3397. <span class="entry_type_visibility"> [public as enumList]</span>
  3398. <span class="entry_type_hwlevel">[legacy] </span>
  3399. <div class="entry_type_notes">list of enums</div>
  3400. </td> <!-- entry_type -->
  3401. <td class="entry_description">
  3402. <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
  3403. supported by this camera device.<wbr/></p>
  3404. </td>
  3405. <td class="entry_units">
  3406. </td>
  3407. <td class="entry_range">
  3408. <p>Any value listed in <a href="#controls_android.control.aeAntibandingMode">android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode</a></p>
  3409. </td>
  3410. <td class="entry_tags">
  3411. <ul class="entry_tags">
  3412. <li><a href="#tag_BC">BC</a></li>
  3413. </ul>
  3414. </td>
  3415. </tr>
  3416. <tr class="entries_header">
  3417. <th class="th_details" colspan="5">Details</th>
  3418. </tr>
  3419. <tr class="entry_cont">
  3420. <td class="entry_details" colspan="5">
  3421. <p>Not all of the auto-exposure anti-banding modes may be
  3422. supported by a given camera device.<wbr/> This field lists the
  3423. valid anti-banding modes that the application may request
  3424. for this camera device with the
  3425. <a href="#controls_android.control.aeAntibandingMode">android.<wbr/>control.<wbr/>ae<wbr/>Antibanding<wbr/>Mode</a> control.<wbr/></p>
  3426. </td>
  3427. </tr>
  3428. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3429. <!-- end of entry -->
  3430. <tr class="entry" id="static_android.control.aeAvailableModes">
  3431. <td class="entry_name
  3432. " rowspan="3">
  3433. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes
  3434. </td>
  3435. <td class="entry_type">
  3436. <span class="entry_type_name">byte</span>
  3437. <span class="entry_type_container">x</span>
  3438. <span class="entry_type_array">
  3439. n
  3440. </span>
  3441. <span class="entry_type_visibility"> [public as enumList]</span>
  3442. <span class="entry_type_hwlevel">[legacy] </span>
  3443. <div class="entry_type_notes">list of enums</div>
  3444. </td> <!-- entry_type -->
  3445. <td class="entry_description">
  3446. <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
  3447. device.<wbr/></p>
  3448. </td>
  3449. <td class="entry_units">
  3450. </td>
  3451. <td class="entry_range">
  3452. <p>Any value listed in <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a></p>
  3453. </td>
  3454. <td class="entry_tags">
  3455. <ul class="entry_tags">
  3456. <li><a href="#tag_BC">BC</a></li>
  3457. </ul>
  3458. </td>
  3459. </tr>
  3460. <tr class="entries_header">
  3461. <th class="th_details" colspan="5">Details</th>
  3462. </tr>
  3463. <tr class="entry_cont">
  3464. <td class="entry_details" colspan="5">
  3465. <p>Not all the auto-exposure modes may be supported by a
  3466. given camera device,<wbr/> especially if no flash unit is
  3467. available.<wbr/> This entry lists the valid modes for
  3468. <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> for this camera device.<wbr/></p>
  3469. <p>All camera devices support ON,<wbr/> and all camera devices with flash
  3470. units support ON_<wbr/>AUTO_<wbr/>FLASH and ON_<wbr/>ALWAYS_<wbr/>FLASH.<wbr/></p>
  3471. <p>FULL mode camera devices always support OFF mode,<wbr/>
  3472. which enables application control of camera exposure time,<wbr/>
  3473. sensitivity,<wbr/> and frame duration.<wbr/></p>
  3474. <p>LEGACY mode camera devices never support OFF mode.<wbr/>
  3475. LIMITED mode devices support OFF if they support the MANUAL_<wbr/>SENSOR
  3476. capability.<wbr/></p>
  3477. </td>
  3478. </tr>
  3479. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3480. <!-- end of entry -->
  3481. <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
  3482. <td class="entry_name
  3483. " rowspan="3">
  3484. android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Target<wbr/>Fps<wbr/>Ranges
  3485. </td>
  3486. <td class="entry_type">
  3487. <span class="entry_type_name">int32</span>
  3488. <span class="entry_type_container">x</span>
  3489. <span class="entry_type_array">
  3490. 2 x n
  3491. </span>
  3492. <span class="entry_type_visibility"> [public as rangeInt]</span>
  3493. <span class="entry_type_hwlevel">[legacy] </span>
  3494. <div class="entry_type_notes">list of pairs of frame rates</div>
  3495. </td> <!-- entry_type -->
  3496. <td class="entry_description">
  3497. <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
  3498. this camera device.<wbr/></p>
  3499. </td>
  3500. <td class="entry_units">
  3501. Frames per second (FPS)
  3502. </td>
  3503. <td class="entry_range">
  3504. </td>
  3505. <td class="entry_tags">
  3506. <ul class="entry_tags">
  3507. <li><a href="#tag_BC">BC</a></li>
  3508. </ul>
  3509. </td>
  3510. </tr>
  3511. <tr class="entries_header">
  3512. <th class="th_details" colspan="5">Details</th>
  3513. </tr>
  3514. <tr class="entry_cont">
  3515. <td class="entry_details" colspan="5">
  3516. <p>For devices at the LIMITED level or above,<wbr/> this list will include at least (30,<wbr/> 30) for
  3517. constant-framerate recording.<wbr/></p>
  3518. </td>
  3519. </tr>
  3520. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3521. <!-- end of entry -->
  3522. <tr class="entry" id="static_android.control.aeCompensationRange">
  3523. <td class="entry_name
  3524. " rowspan="1">
  3525. android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Range
  3526. </td>
  3527. <td class="entry_type">
  3528. <span class="entry_type_name">int32</span>
  3529. <span class="entry_type_container">x</span>
  3530. <span class="entry_type_array">
  3531. 2
  3532. </span>
  3533. <span class="entry_type_visibility"> [public as rangeInt]</span>
  3534. <span class="entry_type_hwlevel">[legacy] </span>
  3535. </td> <!-- entry_type -->
  3536. <td class="entry_description">
  3537. <p>Maximum and minimum exposure compensation values for
  3538. <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/>
  3539. that are supported by this camera device.<wbr/></p>
  3540. </td>
  3541. <td class="entry_units">
  3542. </td>
  3543. <td class="entry_range">
  3544. <p>Range [0,<wbr/>0] indicates that exposure compensation is not supported.<wbr/></p>
  3545. <p>For LIMITED and FULL devices,<wbr/> range must follow below requirements if exposure
  3546. compensation is supported (<code>range != [0,<wbr/> 0]</code>):</p>
  3547. <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>
  3548. <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>
  3549. <p>LEGACY devices may support a smaller range than this.<wbr/></p>
  3550. </td>
  3551. <td class="entry_tags">
  3552. <ul class="entry_tags">
  3553. <li><a href="#tag_BC">BC</a></li>
  3554. </ul>
  3555. </td>
  3556. </tr>
  3557. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3558. <!-- end of entry -->
  3559. <tr class="entry" id="static_android.control.aeCompensationStep">
  3560. <td class="entry_name
  3561. " rowspan="5">
  3562. android.<wbr/>control.<wbr/>ae<wbr/>Compensation<wbr/>Step
  3563. </td>
  3564. <td class="entry_type">
  3565. <span class="entry_type_name">rational</span>
  3566. <span class="entry_type_visibility"> [public]</span>
  3567. <span class="entry_type_hwlevel">[legacy] </span>
  3568. </td> <!-- entry_type -->
  3569. <td class="entry_description">
  3570. <p>Smallest step by which the exposure compensation
  3571. can be changed.<wbr/></p>
  3572. </td>
  3573. <td class="entry_units">
  3574. Exposure Value (EV)
  3575. </td>
  3576. <td class="entry_range">
  3577. </td>
  3578. <td class="entry_tags">
  3579. <ul class="entry_tags">
  3580. <li><a href="#tag_BC">BC</a></li>
  3581. </ul>
  3582. </td>
  3583. </tr>
  3584. <tr class="entries_header">
  3585. <th class="th_details" colspan="5">Details</th>
  3586. </tr>
  3587. <tr class="entry_cont">
  3588. <td class="entry_details" colspan="5">
  3589. <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
  3590. 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
  3591. that the target EV offset for the auto-exposure routine is -1 EV.<wbr/></p>
  3592. <p>One unit of EV compensation changes the brightness of the captured image by a factor
  3593. of two.<wbr/> +1 EV doubles the image brightness,<wbr/> while -1 EV halves the image brightness.<wbr/></p>
  3594. </td>
  3595. </tr>
  3596. <tr class="entries_header">
  3597. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3598. </tr>
  3599. <tr class="entry_cont">
  3600. <td class="entry_details" colspan="5">
  3601. <p>This must be less than or equal to 1/<wbr/>2.<wbr/></p>
  3602. </td>
  3603. </tr>
  3604. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3605. <!-- end of entry -->
  3606. <tr class="entry" id="static_android.control.afAvailableModes">
  3607. <td class="entry_name
  3608. " rowspan="3">
  3609. android.<wbr/>control.<wbr/>af<wbr/>Available<wbr/>Modes
  3610. </td>
  3611. <td class="entry_type">
  3612. <span class="entry_type_name">byte</span>
  3613. <span class="entry_type_container">x</span>
  3614. <span class="entry_type_array">
  3615. n
  3616. </span>
  3617. <span class="entry_type_visibility"> [public as enumList]</span>
  3618. <span class="entry_type_hwlevel">[legacy] </span>
  3619. <div class="entry_type_notes">List of enums</div>
  3620. </td> <!-- entry_type -->
  3621. <td class="entry_description">
  3622. <p>List of auto-focus (AF) modes for <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> that are
  3623. supported by this camera device.<wbr/></p>
  3624. </td>
  3625. <td class="entry_units">
  3626. </td>
  3627. <td class="entry_range">
  3628. <p>Any value listed in <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a></p>
  3629. </td>
  3630. <td class="entry_tags">
  3631. <ul class="entry_tags">
  3632. <li><a href="#tag_BC">BC</a></li>
  3633. </ul>
  3634. </td>
  3635. </tr>
  3636. <tr class="entries_header">
  3637. <th class="th_details" colspan="5">Details</th>
  3638. </tr>
  3639. <tr class="entry_cont">
  3640. <td class="entry_details" colspan="5">
  3641. <p>Not all the auto-focus modes may be supported by a
  3642. given camera device.<wbr/> This entry lists the valid modes for
  3643. <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> for this camera device.<wbr/></p>
  3644. <p>All LIMITED and FULL mode camera devices will support OFF mode,<wbr/> and all
  3645. camera devices with adjustable focuser units
  3646. (<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>
  3647. <p>LEGACY devices will support OFF mode only if they support
  3648. focusing to infinity (by also setting <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> to
  3649. <code>0.<wbr/>0f</code>).<wbr/></p>
  3650. </td>
  3651. </tr>
  3652. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3653. <!-- end of entry -->
  3654. <tr class="entry" id="static_android.control.availableEffects">
  3655. <td class="entry_name
  3656. " rowspan="3">
  3657. android.<wbr/>control.<wbr/>available<wbr/>Effects
  3658. </td>
  3659. <td class="entry_type">
  3660. <span class="entry_type_name">byte</span>
  3661. <span class="entry_type_container">x</span>
  3662. <span class="entry_type_array">
  3663. n
  3664. </span>
  3665. <span class="entry_type_visibility"> [public as enumList]</span>
  3666. <span class="entry_type_hwlevel">[legacy] </span>
  3667. <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>effect<wbr/>Mode).<wbr/></div>
  3668. </td> <!-- entry_type -->
  3669. <td class="entry_description">
  3670. <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
  3671. device.<wbr/></p>
  3672. </td>
  3673. <td class="entry_units">
  3674. </td>
  3675. <td class="entry_range">
  3676. <p>Any value listed in <a href="#controls_android.control.effectMode">android.<wbr/>control.<wbr/>effect<wbr/>Mode</a></p>
  3677. </td>
  3678. <td class="entry_tags">
  3679. <ul class="entry_tags">
  3680. <li><a href="#tag_BC">BC</a></li>
  3681. </ul>
  3682. </td>
  3683. </tr>
  3684. <tr class="entries_header">
  3685. <th class="th_details" colspan="5">Details</th>
  3686. </tr>
  3687. <tr class="entry_cont">
  3688. <td class="entry_details" colspan="5">
  3689. <p>This list contains the color effect modes that can be applied to
  3690. images produced by the camera device.<wbr/>
  3691. Implementations are not expected to be consistent across all devices.<wbr/>
  3692. If no color effect modes are available for a device,<wbr/> this will only list
  3693. OFF.<wbr/></p>
  3694. <p>A color effect will only be applied if
  3695. <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF.<wbr/> OFF is always included in this list.<wbr/></p>
  3696. <p>This control has no effect on the operation of other control routines such
  3697. as auto-exposure,<wbr/> white balance,<wbr/> or focus.<wbr/></p>
  3698. </td>
  3699. </tr>
  3700. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3701. <!-- end of entry -->
  3702. <tr class="entry" id="static_android.control.availableSceneModes">
  3703. <td class="entry_name
  3704. " rowspan="3">
  3705. android.<wbr/>control.<wbr/>available<wbr/>Scene<wbr/>Modes
  3706. </td>
  3707. <td class="entry_type">
  3708. <span class="entry_type_name">byte</span>
  3709. <span class="entry_type_container">x</span>
  3710. <span class="entry_type_array">
  3711. n
  3712. </span>
  3713. <span class="entry_type_visibility"> [public as enumList]</span>
  3714. <span class="entry_type_hwlevel">[legacy] </span>
  3715. <div class="entry_type_notes">List of enums (android.<wbr/>control.<wbr/>scene<wbr/>Mode).<wbr/></div>
  3716. </td> <!-- entry_type -->
  3717. <td class="entry_description">
  3718. <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
  3719. device.<wbr/></p>
  3720. </td>
  3721. <td class="entry_units">
  3722. </td>
  3723. <td class="entry_range">
  3724. <p>Any value listed in <a href="#controls_android.control.sceneMode">android.<wbr/>control.<wbr/>scene<wbr/>Mode</a></p>
  3725. </td>
  3726. <td class="entry_tags">
  3727. <ul class="entry_tags">
  3728. <li><a href="#tag_BC">BC</a></li>
  3729. </ul>
  3730. </td>
  3731. </tr>
  3732. <tr class="entries_header">
  3733. <th class="th_details" colspan="5">Details</th>
  3734. </tr>
  3735. <tr class="entry_cont">
  3736. <td class="entry_details" colspan="5">
  3737. <p>This list contains scene modes that can be set for the camera device.<wbr/>
  3738. Only scene modes that have been fully implemented for the
  3739. camera device may be included here.<wbr/> Implementations are not expected
  3740. to be consistent across all devices.<wbr/></p>
  3741. <p>If no scene modes are supported by the camera device,<wbr/> this
  3742. will be set to DISABLED.<wbr/> Otherwise DISABLED will not be listed.<wbr/></p>
  3743. <p>FACE_<wbr/>PRIORITY is always listed if face detection is
  3744. 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;
  3745. 0</code>).<wbr/></p>
  3746. </td>
  3747. </tr>
  3748. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3749. <!-- end of entry -->
  3750. <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
  3751. <td class="entry_name
  3752. " rowspan="3">
  3753. android.<wbr/>control.<wbr/>available<wbr/>Video<wbr/>Stabilization<wbr/>Modes
  3754. </td>
  3755. <td class="entry_type">
  3756. <span class="entry_type_name">byte</span>
  3757. <span class="entry_type_container">x</span>
  3758. <span class="entry_type_array">
  3759. n
  3760. </span>
  3761. <span class="entry_type_visibility"> [public as enumList]</span>
  3762. <span class="entry_type_hwlevel">[legacy] </span>
  3763. <div class="entry_type_notes">List of enums.<wbr/></div>
  3764. </td> <!-- entry_type -->
  3765. <td class="entry_description">
  3766. <p>List of video stabilization modes for <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a>
  3767. that are supported by this camera device.<wbr/></p>
  3768. </td>
  3769. <td class="entry_units">
  3770. </td>
  3771. <td class="entry_range">
  3772. <p>Any value listed in <a href="#controls_android.control.videoStabilizationMode">android.<wbr/>control.<wbr/>video<wbr/>Stabilization<wbr/>Mode</a></p>
  3773. </td>
  3774. <td class="entry_tags">
  3775. <ul class="entry_tags">
  3776. <li><a href="#tag_BC">BC</a></li>
  3777. </ul>
  3778. </td>
  3779. </tr>
  3780. <tr class="entries_header">
  3781. <th class="th_details" colspan="5">Details</th>
  3782. </tr>
  3783. <tr class="entry_cont">
  3784. <td class="entry_details" colspan="5">
  3785. <p>OFF will always be listed.<wbr/></p>
  3786. </td>
  3787. </tr>
  3788. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3789. <!-- end of entry -->
  3790. <tr class="entry" id="static_android.control.awbAvailableModes">
  3791. <td class="entry_name
  3792. " rowspan="3">
  3793. android.<wbr/>control.<wbr/>awb<wbr/>Available<wbr/>Modes
  3794. </td>
  3795. <td class="entry_type">
  3796. <span class="entry_type_name">byte</span>
  3797. <span class="entry_type_container">x</span>
  3798. <span class="entry_type_array">
  3799. n
  3800. </span>
  3801. <span class="entry_type_visibility"> [public as enumList]</span>
  3802. <span class="entry_type_hwlevel">[legacy] </span>
  3803. <div class="entry_type_notes">List of enums</div>
  3804. </td> <!-- entry_type -->
  3805. <td class="entry_description">
  3806. <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
  3807. camera device.<wbr/></p>
  3808. </td>
  3809. <td class="entry_units">
  3810. </td>
  3811. <td class="entry_range">
  3812. <p>Any value listed in <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a></p>
  3813. </td>
  3814. <td class="entry_tags">
  3815. <ul class="entry_tags">
  3816. <li><a href="#tag_BC">BC</a></li>
  3817. </ul>
  3818. </td>
  3819. </tr>
  3820. <tr class="entries_header">
  3821. <th class="th_details" colspan="5">Details</th>
  3822. </tr>
  3823. <tr class="entry_cont">
  3824. <td class="entry_details" colspan="5">
  3825. <p>Not all the auto-white-balance modes may be supported by a
  3826. given camera device.<wbr/> This entry lists the valid modes for
  3827. <a href="#controls_android.control.awbMode">android.<wbr/>control.<wbr/>awb<wbr/>Mode</a> for this camera device.<wbr/></p>
  3828. <p>All camera devices will support ON mode.<wbr/></p>
  3829. <p>Camera devices that support the MANUAL_<wbr/>POST_<wbr/>PROCESSING capability will always support OFF
  3830. mode,<wbr/> which enables application control of white balance,<wbr/> by using
  3831. <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
  3832. mode camera devices.<wbr/></p>
  3833. </td>
  3834. </tr>
  3835. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3836. <!-- end of entry -->
  3837. <tr class="entry" id="static_android.control.maxRegions">
  3838. <td class="entry_name
  3839. " rowspan="1">
  3840. android.<wbr/>control.<wbr/>max<wbr/>Regions
  3841. </td>
  3842. <td class="entry_type">
  3843. <span class="entry_type_name">int32</span>
  3844. <span class="entry_type_container">x</span>
  3845. <span class="entry_type_array">
  3846. 3
  3847. </span>
  3848. <span class="entry_type_visibility"> [hidden]</span>
  3849. <span class="entry_type_hwlevel">[legacy] </span>
  3850. </td> <!-- entry_type -->
  3851. <td class="entry_description">
  3852. <p>List of the maximum number of regions that can be used for metering in
  3853. auto-exposure (AE),<wbr/> auto-white balance (AWB),<wbr/> and auto-focus (AF);
  3854. this corresponds to the the maximum number of elements in
  3855. <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/>
  3856. and <a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a>.<wbr/></p>
  3857. </td>
  3858. <td class="entry_units">
  3859. </td>
  3860. <td class="entry_range">
  3861. <p>Value must be &gt;= 0 for each element.<wbr/> For full-capability devices
  3862. this value must be &gt;= 1 for AE and AF.<wbr/> The order of the elements is:
  3863. <code>(AE,<wbr/> AWB,<wbr/> AF)</code>.<wbr/></p>
  3864. </td>
  3865. <td class="entry_tags">
  3866. <ul class="entry_tags">
  3867. <li><a href="#tag_BC">BC</a></li>
  3868. </ul>
  3869. </td>
  3870. </tr>
  3871. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3872. <!-- end of entry -->
  3873. <tr class="entry" id="static_android.control.maxRegionsAe">
  3874. <td class="entry_name
  3875. " rowspan="5">
  3876. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Ae
  3877. </td>
  3878. <td class="entry_type">
  3879. <span class="entry_type_name">int32</span>
  3880. <span class="entry_type_visibility"> [public]</span>
  3881. <span class="entry_type_synthetic">[synthetic] </span>
  3882. <span class="entry_type_hwlevel">[legacy] </span>
  3883. </td> <!-- entry_type -->
  3884. <td class="entry_description">
  3885. <p>The maximum number of metering regions that can be used by the auto-exposure (AE)
  3886. routine.<wbr/></p>
  3887. </td>
  3888. <td class="entry_units">
  3889. </td>
  3890. <td class="entry_range">
  3891. <p>Value will be &gt;= 0.<wbr/> For FULL-capability devices,<wbr/> this
  3892. value will be &gt;= 1.<wbr/></p>
  3893. </td>
  3894. <td class="entry_tags">
  3895. </td>
  3896. </tr>
  3897. <tr class="entries_header">
  3898. <th class="th_details" colspan="5">Details</th>
  3899. </tr>
  3900. <tr class="entry_cont">
  3901. <td class="entry_details" colspan="5">
  3902. <p>This corresponds to the the maximum allowed number of elements in
  3903. <a href="#controls_android.control.aeRegions">android.<wbr/>control.<wbr/>ae<wbr/>Regions</a>.<wbr/></p>
  3904. </td>
  3905. </tr>
  3906. <tr class="entries_header">
  3907. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3908. </tr>
  3909. <tr class="entry_cont">
  3910. <td class="entry_details" colspan="5">
  3911. <p>This entry is private to the framework.<wbr/> Fill in
  3912. maxRegions to have this entry be automatically populated.<wbr/></p>
  3913. </td>
  3914. </tr>
  3915. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3916. <!-- end of entry -->
  3917. <tr class="entry" id="static_android.control.maxRegionsAwb">
  3918. <td class="entry_name
  3919. " rowspan="5">
  3920. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Awb
  3921. </td>
  3922. <td class="entry_type">
  3923. <span class="entry_type_name">int32</span>
  3924. <span class="entry_type_visibility"> [public]</span>
  3925. <span class="entry_type_synthetic">[synthetic] </span>
  3926. <span class="entry_type_hwlevel">[legacy] </span>
  3927. </td> <!-- entry_type -->
  3928. <td class="entry_description">
  3929. <p>The maximum number of metering regions that can be used by the auto-white balance (AWB)
  3930. routine.<wbr/></p>
  3931. </td>
  3932. <td class="entry_units">
  3933. </td>
  3934. <td class="entry_range">
  3935. <p>Value will be &gt;= 0.<wbr/></p>
  3936. </td>
  3937. <td class="entry_tags">
  3938. </td>
  3939. </tr>
  3940. <tr class="entries_header">
  3941. <th class="th_details" colspan="5">Details</th>
  3942. </tr>
  3943. <tr class="entry_cont">
  3944. <td class="entry_details" colspan="5">
  3945. <p>This corresponds to the the maximum allowed number of elements in
  3946. <a href="#controls_android.control.awbRegions">android.<wbr/>control.<wbr/>awb<wbr/>Regions</a>.<wbr/></p>
  3947. </td>
  3948. </tr>
  3949. <tr class="entries_header">
  3950. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3951. </tr>
  3952. <tr class="entry_cont">
  3953. <td class="entry_details" colspan="5">
  3954. <p>This entry is private to the framework.<wbr/> Fill in
  3955. maxRegions to have this entry be automatically populated.<wbr/></p>
  3956. </td>
  3957. </tr>
  3958. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  3959. <!-- end of entry -->
  3960. <tr class="entry" id="static_android.control.maxRegionsAf">
  3961. <td class="entry_name
  3962. " rowspan="5">
  3963. android.<wbr/>control.<wbr/>max<wbr/>Regions<wbr/>Af
  3964. </td>
  3965. <td class="entry_type">
  3966. <span class="entry_type_name">int32</span>
  3967. <span class="entry_type_visibility"> [public]</span>
  3968. <span class="entry_type_synthetic">[synthetic] </span>
  3969. <span class="entry_type_hwlevel">[legacy] </span>
  3970. </td> <!-- entry_type -->
  3971. <td class="entry_description">
  3972. <p>The maximum number of metering regions that can be used by the auto-focus (AF) routine.<wbr/></p>
  3973. </td>
  3974. <td class="entry_units">
  3975. </td>
  3976. <td class="entry_range">
  3977. <p>Value will be &gt;= 0.<wbr/> For FULL-capability devices,<wbr/> this
  3978. value will be &gt;= 1.<wbr/></p>
  3979. </td>
  3980. <td class="entry_tags">
  3981. </td>
  3982. </tr>
  3983. <tr class="entries_header">
  3984. <th class="th_details" colspan="5">Details</th>
  3985. </tr>
  3986. <tr class="entry_cont">
  3987. <td class="entry_details" colspan="5">
  3988. <p>This corresponds to the the maximum allowed number of elements in
  3989. <a href="#controls_android.control.afRegions">android.<wbr/>control.<wbr/>af<wbr/>Regions</a>.<wbr/></p>
  3990. </td>
  3991. </tr>
  3992. <tr class="entries_header">
  3993. <th class="th_details" colspan="5">HAL Implementation Details</th>
  3994. </tr>
  3995. <tr class="entry_cont">
  3996. <td class="entry_details" colspan="5">
  3997. <p>This entry is private to the framework.<wbr/> Fill in
  3998. maxRegions to have this entry be automatically populated.<wbr/></p>
  3999. </td>
  4000. </tr>
  4001. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  4002. <!-- end of entry -->
  4003. <tr class="entry" id="static_android.control.sceneModeOverrides">
  4004. <td class="entry_name
  4005. " rowspan="5">
  4006. android.<wbr/>control.<wbr/>scene<wbr/>Mode<wbr/>Overrides
  4007. </td>
  4008. <td class="entry_type">
  4009. <span class="entry_type_name">byte</span>
  4010. <span class="entry_type_container">x</span>
  4011. <span class="entry_type_array">
  4012. 3 x length(availableSceneModes)
  4013. </span>
  4014. <span class="entry_type_visibility"> [system]</span>
  4015. <span class="entry_type_hwlevel">[limited] </span>
  4016. </td> <!-- entry_type -->
  4017. <td class="entry_description">
  4018. <p>Ordered list of auto-exposure,<wbr/> auto-white balance,<wbr/> and auto-focus
  4019. settings to use with each available scene mode.<wbr/></p>
  4020. </td>
  4021. <td class="entry_units">
  4022. </td>
  4023. <td class="entry_range">
  4024. <p>For each available scene mode,<wbr/> the list must contain three
  4025. entries containing the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  4026. <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
  4027. by the camera device.<wbr/> The entry order is <code>(aeMode,<wbr/> awbMode,<wbr/> afMode)</code>
  4028. where aeMode has the lowest index position.<wbr/></p>
  4029. </td>
  4030. <td class="entry_tags">
  4031. <ul class="entry_tags">
  4032. <li><a href="#tag_BC">BC</a></li>
  4033. </ul>
  4034. </td>
  4035. </tr>
  4036. <tr class="entries_header">
  4037. <th class="th_details" colspan="5">Details</th>
  4038. </tr>
  4039. <tr class="entry_cont">
  4040. <td class="entry_details" colspan="5">
  4041. <p>When a scene mode is enabled,<wbr/> the camera device is expected
  4042. 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/>
  4043. and <a href="#controls_android.control.afMode">android.<wbr/>control.<wbr/>af<wbr/>Mode</a> with its preferred settings for
  4044. that scene mode.<wbr/></p>
  4045. <p>The order of this list matches that of availableSceneModes,<wbr/>
  4046. with 3 entries for each mode.<wbr/> The overrides listed
  4047. for FACE_<wbr/>PRIORITY are ignored,<wbr/> since for that
  4048. mode the application-set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  4049. <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
  4050. used instead,<wbr/> matching the behavior when <a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a>
  4051. is set to AUTO.<wbr/> It is recommended that the FACE_<wbr/>PRIORITY
  4052. overrides should be set to 0.<wbr/></p>
  4053. <p>For example,<wbr/> if availableSceneModes contains
  4054. <code>(FACE_<wbr/>PRIORITY,<wbr/> ACTION,<wbr/> NIGHT)</code>,<wbr/> then the camera framework
  4055. expects sceneModeOverrides to have 9 entries formatted like:
  4056. <code>(0,<wbr/> 0,<wbr/> 0,<wbr/> ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> AUTO,<wbr/> CONTINUOUS_<wbr/>PICTURE,<wbr/>
  4057. ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> INCANDESCENT,<wbr/> AUTO)</code>.<wbr/></p>
  4058. </td>
  4059. </tr>
  4060. <tr class="entries_header">
  4061. <th class="th_details" colspan="5">HAL Implementation Details</th>
  4062. </tr>
  4063. <tr class="entry_cont">
  4064. <td class="entry_details" colspan="5">
  4065. <p>To maintain backward compatibility,<wbr/> this list will be made available
  4066. in the static metadata of the camera service.<wbr/> The camera service will
  4067. use these values to set <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a>,<wbr/>
  4068. <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
  4069. mode other than FACE_<wbr/>PRIORITY.<wbr/></p>
  4070. </td>
  4071. </tr>
  4072. <tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
  4073. <!-- end of entry -->
  4074. <tr class="entry" id="static_android.control.availableHighSpeedVideoConfigurations">
  4075. <td class="entry_name
  4076. " rowspan="5">
  4077. android.<wbr/>control.<wbr/>available<wbr/>High<wbr/>Speed<wbr/>Video<wbr/>Configurations
  4078. </td>
  4079. <td class="entry_type">
  4080. <span class="entry_type_name">int32</span>
  4081. <span class="entry_type_container">x</span>
  4082. <span class="entry_type_array">
  4083. 4 x n
  4084. </span>
  4085. <span class="entry_type_visibility"> [hidden as highSpeedVideoConfiguration]</span>
  4086. <span class="entry_type_hwlevel">[limited] </span>
  4087. </td> <!-- entry_type -->
  4088. <td class="entry_description">
  4089. <p>List of available high speed video size and fps range configurations
  4090. supported by the camera device,<wbr/> in the format of (width,<wbr/> height,<wbr/> fps_<wbr/>min,<wbr/> fps_<wbr/>max).<wbr/></p>
  4091. </td>
  4092. <td class="entry_units">
  4093. </td>
  4094. <td class="entry_range">
  4095. <p>For each configuration,<wbr/> the fps_<wbr/>max &gt;= 60fps.<wbr/></p>
  4096. </td>