OSDN Git Service

camera: Add links for aeState
[android-x86/system-media.git] / camera / docs / docs.html
index b833511..21c9eb4 100644 (file)
             ><a href="#dynamic_android.control.postRawSensitivityBoost">android.control.postRawSensitivityBoost</a></li>
             <li
             ><a href="#dynamic_android.control.enableZsl">android.control.enableZsl</a></li>
+            <li
+            ><a href="#dynamic_android.control.afSceneChange">android.control.afSceneChange</a></li>
           </ul>
         </li>
       </ul> <!-- toc_section -->
             ><a href="#static_android.lens.intrinsicCalibration">android.lens.intrinsicCalibration</a></li>
             <li
             ><a href="#static_android.lens.radialDistortion">android.lens.radialDistortion</a></li>
+            <li
+            ><a href="#static_android.lens.poseReference">android.lens.poseReference</a></li>
           </ul>
         </li>
         <li>
             ><a href="#static_android.request.availableResultKeys">android.request.availableResultKeys</a></li>
             <li
             ><a href="#static_android.request.availableCharacteristicsKeys">android.request.availableCharacteristicsKeys</a></li>
+            <li
+            ><a href="#static_android.request.availableSessionKeys">android.request.availableSessionKeys</a></li>
+            <li
+            ><a href="#static_android.request.availablePhysicalCameraRequestKeys">android.request.availablePhysicalCameraRequestKeys</a></li>
           </ul>
         </li>
         <li>
             ><a href="#controls_android.statistics.hotPixelMapMode">android.statistics.hotPixelMapMode</a></li>
             <li
             ><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
+            <li
+            ><a href="#controls_android.statistics.oisDataMode">android.statistics.oisDataMode</a></li>
           </ul>
         </li>
         <li>
             ><a href="#static_android.statistics.info.availableHotPixelMapModes">android.statistics.info.availableHotPixelMapModes</a></li>
             <li
             ><a href="#static_android.statistics.info.availableLensShadingMapModes">android.statistics.info.availableLensShadingMapModes</a></li>
+            <li
+            ><a href="#static_android.statistics.info.availableOisDataModes">android.statistics.info.availableOisDataModes</a></li>
 
           </ul>
         </li>
             ><a href="#dynamic_android.statistics.hotPixelMap">android.statistics.hotPixelMap</a></li>
             <li
             ><a href="#dynamic_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
+            <li
+            ><a href="#dynamic_android.statistics.oisDataMode">android.statistics.oisDataMode</a></li>
+            <li
+            ><a href="#dynamic_android.statistics.oisTimestamps">android.statistics.oisTimestamps</a></li>
+            <li
+            ><a href="#dynamic_android.statistics.oisXShifts">android.statistics.oisXShifts</a></li>
+            <li
+            ><a href="#dynamic_android.statistics.oisYShifts">android.statistics.oisYShifts</a></li>
+            <li
+            ><a href="#dynamic_android.statistics.oisSamples">android.statistics.oisSamples</a></li>
           </ul>
         </li>
       </ul> <!-- toc_section -->
           <ul class="toc_section">
             <li
             ><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
+            <li
+            ><a href="#static_android.info.version">android.info.version</a></li>
           </ul>
         </li>
       </ul> <!-- toc_section -->
         </li>
       </ul> <!-- toc_section -->
     </li>
+    <li>
+      <span class="toc_section_header"><a href="#section_logicalMultiCamera">logicalMultiCamera</a></span>
+      <ul class="toc_section">
+        <li>
+          <span class="toc_kind_header">static</span>
+          <ul class="toc_section">
+            <li
+            ><a href="#static_android.logicalMultiCamera.physicalIds">android.logicalMultiCamera.physicalIds</a></li>
+            <li
+            ><a href="#static_android.logicalMultiCamera.sensorSyncType">android.logicalMultiCamera.sensorSyncType</a></li>
+          </ul>
+        </li>
+      </ul> <!-- toc_section -->
+    </li>
   </ul>
 
 
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
+                    <span class="entry_type_enum_name">TRANSFORM_MATRIX (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
 and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
 <p>All advanced white balance adjustments (not specified
@@ -1215,7 +1253,7 @@ TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
 this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Color correction processing must not slow down
 capture rate relative to sensor raw output.<wbr/></p>
 <p>Advanced white balance adjustments above and beyond
@@ -1225,7 +1263,7 @@ the camera device uses the last frame's AWB values
 (or defaults if AWB has never been run).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Color correction processing operates at improved
 quality but the capture rate might be reduced (relative to sensor
 raw output rate)</p>
@@ -1485,16 +1523,16 @@ channels,<wbr/> it must use the <code>G_<wbr/>even</code> value,<wbr/> and write
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
 relative to sensor raw output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but the capture rate might be
 reduced (relative to sensor raw output rate)</p></span>
                   </li>
@@ -1590,7 +1628,7 @@ applying aberration correction.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
+                    <span class="entry_type_enum_name">TRANSFORM_MATRIX (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the <a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a> matrix
 and <a href="#controls_android.colorCorrection.gains">android.<wbr/>color<wbr/>Correction.<wbr/>gains</a> to do color conversion.<wbr/></p>
 <p>All advanced white balance adjustments (not specified
@@ -1600,7 +1638,7 @@ TRANSFORM_<wbr/>MATRIX is ignored.<wbr/> The camera device will override
 this value to either FAST or HIGH_<wbr/>QUALITY.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Color correction processing must not slow down
 capture rate relative to sensor raw output.<wbr/></p>
 <p>Advanced white balance adjustments above and beyond
@@ -1610,7 +1648,7 @@ the camera device uses the last frame's AWB values
 (or defaults if AWB has never been run).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Color correction processing operates at improved
 quality but the capture rate might be reduced (relative to sensor
 raw output rate)</p>
@@ -1870,16 +1908,16 @@ channels,<wbr/> it must use the <code>G_<wbr/>even</code> value,<wbr/> and write
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No aberration correction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Aberration correction will not slow down capture rate
 relative to sensor raw output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Aberration correction operates at improved quality but the capture rate might be
 reduced (relative to sensor raw output rate)</p></span>
                   </li>
@@ -2084,23 +2122,23 @@ capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the same outp
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
 avoid banding problems.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">50HZ</span>
+                    <span class="entry_type_enum_name">50HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
 avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">60HZ</span>
+                    <span class="entry_type_enum_name">60HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
 avoid banding problems with 60Hz illumination
 sources.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
 antibanding routine to the current illumination
 condition.<wbr/> This is the default mode if AUTO is
@@ -2277,12 +2315,12 @@ FLASH_<wbr/>REQUIRED (if the scene is too dark for still capture).<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
 is free to update its parameters.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
 must not update the exposure and sensitivity parameters
 while the lock is active.<wbr/></p>
@@ -2381,7 +2419,7 @@ any flicker during the switch,<wbr/> the following procedure is recommended:</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
 <p>The application-selected <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> and
@@ -2400,7 +2438,7 @@ for more details.<wbr/></p>
 override attempts to use this value to ON.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
 with no flash control.<wbr/></p>
 <p>The application's values for
@@ -2411,7 +2449,7 @@ application has control over the various
 android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
 the camera's flash unit,<wbr/> firing it in low-light
 conditions.<wbr/></p>
@@ -2422,7 +2460,7 @@ may be fired for captures for which the
 STILL_<wbr/>CAPTURE</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
+                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
 the camera's flash unit,<wbr/> always firing it for still
 captures.<wbr/></p>
@@ -2433,13 +2471,25 @@ will always be fired for captures for which the
 STILL_<wbr/>CAPTURE</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
 reduction.<wbr/></p>
 <p>If deemed necessary by the camera device,<wbr/> a red eye
 reduction flash will fire during the precapture
 sequence.<wbr/></p></span>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON_EXTERNAL_FLASH (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>An external flash has been turned on.<wbr/></p>
+<p>It informs the camera device that an external flash has been turned on,<wbr/> and that
+metering (and continuous focus if active) should be quickly recaculated to account
+for the external flash.<wbr/> Otherwise,<wbr/> this mode acts like ON.<wbr/></p>
+<p>When the external flash is turned off,<wbr/> AE mode should be changed to one of the
+other available AE modes.<wbr/></p>
+<p>If the camera device supports AE external flash mode,<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> must
+be FLASH_<wbr/>REQUIRED after the camera device finishes AE scan and it's too dark without
+flash.<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -2673,18 +2723,18 @@ manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">IDLE</span>
+                    <span class="entry_type_enum_name">IDLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">START</span>
+                    <span class="entry_type_enum_name">START (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
 by the camera device.<wbr/></p>
 <p>The exact effect of the precapture trigger depends on
 the current AE mode and state.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANCEL</span>
+                    <span class="entry_type_enum_name">CANCEL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will cancel any currently active or completed
 precapture metering sequence,<wbr/> the auto-exposure routine will return to its
 initial state.<wbr/></p></span>
@@ -2803,13 +2853,13 @@ to minimize the latency for converging both focus and exposure/<wbr/>flash usage
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
 <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
 application.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
 <p>In this mode,<wbr/> the lens does not move unless
 the autofocus trigger action is called.<wbr/> When that trigger
@@ -2822,7 +2872,7 @@ is fixed-focus.<wbr/></p>
 and sets the AF state to INACTIVE.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MACRO</span>
+                    <span class="entry_type_enum_name">MACRO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
 <p>In this mode,<wbr/> the lens does not move unless the
 autofocus trigger action is called.<wbr/> When that trigger is
@@ -2837,7 +2887,7 @@ position to default,<wbr/> and sets the AF state to
 INACTIVE.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
+                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
 position continually to attempt to provide a
 constantly-in-focus image stream.<wbr/></p>
@@ -2857,7 +2907,7 @@ ongoing PASSIVE_<wbr/>SCAN must immediately be
 canceled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
+                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
 position continually to attempt to provide a
 constantly-in-focus image stream.<wbr/></p>
@@ -2876,7 +2926,7 @@ should transition back to INACTIVE and then act as if it
 has just been started.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">EDOF</span>
+                    <span class="entry_type_enum_name">EDOF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
 <p>The camera device will produce images with an extended
 depth of field automatically; no special focusing
@@ -3027,7 +3077,8 @@ camera device will add the weights in the overlap region.<wbr/></p>
 is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0 weight is
 ignored.<wbr/></p>
 <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
-camera device.<wbr/></p>
+camera device.<wbr/> The capture result will either be a zero weight region as well,<wbr/> or
+the region selected by the camera device as the focus area of interest.<wbr/></p>
 <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
 capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
 region and output only the intersection rectangle as the metering region in the result
@@ -3071,15 +3122,15 @@ exclusive on xmax and ymax.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">IDLE</span>
+                    <span class="entry_type_enum_name">IDLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">START</span>
+                    <span class="entry_type_enum_name">START (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANCEL</span>
+                    <span class="entry_type_enum_name">CANCEL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
 state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
                   </li>
@@ -3167,13 +3218,13 @@ to minimize the latency for converging both focus and exposure/<wbr/>flash usage
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
 algorithm is free to update its parameters if in AUTO
 mode.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
 algorithm will not update its parameters while the lock
 is active.<wbr/></p></span>
@@ -3253,7 +3304,7 @@ AWB is already fixed to a specific setting.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
 <p>The application-selected color transform matrix
 (<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
@@ -3261,7 +3312,7 @@ AWB is already fixed to a specific setting.<wbr/></p>
 device for manual white balance control.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
 <p>The application's values for <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> are ignored.<wbr/>
@@ -3270,7 +3321,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">INCANDESCENT</span>
+                    <span class="entry_type_enum_name">INCANDESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses incandescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3284,7 +3335,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FLUORESCENT</span>
+                    <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses fluorescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3298,7 +3349,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">WARM_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses warm fluorescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3312,7 +3363,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DAYLIGHT</span>
+                    <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses daylight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3326,7 +3377,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
+                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses cloudy daylight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3337,7 +3388,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TWILIGHT</span>
+                    <span class="entry_type_enum_name">TWILIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses twilight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3348,7 +3399,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SHADE</span>
+                    <span class="entry_type_enum_name">SHADE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses shade light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -3531,30 +3582,30 @@ exclusive on xmax and ymax.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CUSTOM</span>
+                    <span class="entry_type_enum_name">CUSTOM (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
 categories.<wbr/> The camera device will default to preview-like
 behavior.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PREVIEW</span>
+                    <span class="entry_type_enum_name">PREVIEW (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
 <p>The precapture trigger may be used to start off a metering
 w/<wbr/>flash sequence.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STILL_CAPTURE</span>
+                    <span class="entry_type_enum_name">STILL_CAPTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a still capture-type
 use case.<wbr/></p>
 <p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">VIDEO_RECORD</span>
+                    <span class="entry_type_enum_name">VIDEO_RECORD (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a video recording
 use case.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
+                    <span class="entry_type_enum_name">VIDEO_SNAPSHOT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
 image while recording video) use case.<wbr/></p>
 <p>The camera device should take the highest-quality image
@@ -3562,19 +3613,27 @@ possible (given the other settings) without disrupting the
 frame rate of video recording.<wbr/>  </p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
 application will stream full-resolution images and
 reprocess one or several later for a final
 capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MANUAL</span>
+                    <span class="entry_type_enum_name">MANUAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for manual capture use case where
 the applications want to directly control the capture parameters.<wbr/></p>
 <p>For example,<wbr/> the application may wish to manually control
 <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>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">MOTION_TRACKING (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>This request is for a motion tracking use case,<wbr/> where
+the application will use camera and inertial sensor data to
+locate and track objects in the world.<wbr/></p>
+<p>The camera device auto-exposure routine will limit the exposure time
+of the camera to no more than 20 milliseconds,<wbr/> to minimize motion blur.<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -3610,10 +3669,13 @@ strategy.<wbr/></p>
             <td class="entry_details" colspan="6">
               <p>This control (except for MANUAL) is only effective if
 <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code> and any 3A routine is active.<wbr/></p>
-<p>ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
-contains PRIVATE_<wbr/>REPROCESSING or YUV_<wbr/>REPROCESSING.<wbr/> MANUAL will be supported if
-<a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains MANUAL_<wbr/>SENSOR.<wbr/> Other intent values are
-always supported.<wbr/></p>
+<p>All intents are supported by all devices,<wbr/> except that:
+  * ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+PRIVATE_<wbr/>REPROCESSING or YUV_<wbr/>REPROCESSING.<wbr/>
+  * MANUAL will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+MANUAL_<wbr/>SENSOR.<wbr/>
+  * MOTION_<wbr/>TRACKING will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+MOTION_<wbr/>TRACKING.<wbr/></p>
             </td>
           </tr>
 
@@ -3639,56 +3701,56 @@ always supported.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MONO</span>
+                    <span class="entry_type_enum_name">MONO (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
 a single color.<wbr/></p>
 <p>This will typically be grayscale.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NEGATIVE</span>
+                    <span class="entry_type_enum_name">NEGATIVE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
 are inverted.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SOLARIZE</span>
+                    <span class="entry_type_enum_name">SOLARIZE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
 image is wholly or partially reversed in
 tone.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SEPIA</span>
+                    <span class="entry_type_enum_name">SEPIA (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
 gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">POSTERIZE</span>
+                    <span class="entry_type_enum_name">POSTERIZE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
 discrete regions of tone rather than a continuous
 gradient of tones.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">WHITEBOARD</span>
+                    <span class="entry_type_enum_name">WHITEBOARD (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
 as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BLACKBOARD</span>
+                    <span class="entry_type_enum_name">BLACKBOARD (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
 as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AQUA</span>
+                    <span class="entry_type_enum_name">AQUA (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
                   </li>
@@ -3754,7 +3816,7 @@ devices.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
 <p>All control by the device's metering and focusing (3A)
 routines is disabled,<wbr/> and no other settings in
@@ -3769,14 +3831,14 @@ when control is switched to AUTO mode,<wbr/> good control values
 can be immediately applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
 <p>Manual control of capture parameters is disabled.<wbr/> All
 controls in android.<wbr/>control.<wbr/>* besides sceneMode take
 effect.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">USE_SCENE_MODE</span>
+                    <span class="entry_type_enum_name">USE_SCENE_MODE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
 <p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
@@ -3788,7 +3850,7 @@ This setting can only be used if scene mode is supported (i.<wbr/>e.<wbr/>
 contain some modes other than DISABLED).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
+                    <span class="entry_type_enum_name">OFF_KEEP_STATE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
 used by camera device background auto-exposure,<wbr/> auto-white balance and
@@ -3871,12 +3933,12 @@ the subsequent auto 3A capture results.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">DISABLED</span>
+                    <span class="entry_type_enum_name">DISABLED (v3.2)</span>
                     <span class="entry_type_enum_value">0</span>
                     <span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FACE_PRIORITY</span>
+                    <span class="entry_type_enum_name">FACE_PRIORITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
 detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
 auto-exposure routines.<wbr/></p>
@@ -3889,91 +3951,91 @@ face detection statistics to the framework).<wbr/></p>
 remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ACTION</span>
+                    <span class="entry_type_enum_name">ACTION (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
 <p>Similar to SPORTS.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PORTRAIT</span>
+                    <span class="entry_type_enum_name">PORTRAIT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">LANDSCAPE</span>
+                    <span class="entry_type_enum_name">LANDSCAPE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NIGHT</span>
+                    <span class="entry_type_enum_name">NIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
+                    <span class="entry_type_enum_name">NIGHT_PORTRAIT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
 settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">THEATRE</span>
+                    <span class="entry_type_enum_name">THEATRE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
 remain off.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BEACH</span>
+                    <span class="entry_type_enum_name">BEACH (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SNOW</span>
+                    <span class="entry_type_enum_name">SNOW (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SUNSET</span>
+                    <span class="entry_type_enum_name">SUNSET (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STEADYPHOTO</span>
+                    <span class="entry_type_enum_name">STEADYPHOTO (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
 device motion (for example: due to hand shake).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FIREWORKS</span>
+                    <span class="entry_type_enum_name">FIREWORKS (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SPORTS</span>
+                    <span class="entry_type_enum_name">SPORTS (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
 <p>Similar to ACTION.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PARTY</span>
+                    <span class="entry_type_enum_name">PARTY (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
 people.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANDLELIGHT</span>
+                    <span class="entry_type_enum_name">CANDLELIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
 is a flame.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BARCODE</span>
+                    <span class="entry_type_enum_name">BARCODE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
 for use by camera applications that wish to read the
 barcode value.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
+                    <span class="entry_type_enum_name">HIGH_SPEED_VIDEO (v3.2)</span>
                     <span class="entry_type_enum_deprecated">[deprecated]</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>This is deprecated,<wbr/> please use <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>
@@ -4038,7 +4100,7 @@ reconfigurations,<wbr/> which may introduce extra latency.<wbr/> It is recommend
 the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HDR</span>
+                    <span class="entry_type_enum_name">HDR (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Turn on a device-specific high dynamic range (HDR) mode.<wbr/></p>
 <p>In this scene mode,<wbr/> the camera device captures images
@@ -4083,7 +4145,7 @@ or capture intents,<wbr/> the images captured will be as if
 the SCENE_<wbr/>MODE was not enabled at all.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT</span>
+                    <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_notes"><p>Same as FACE_<wbr/>PRIORITY scene mode,<wbr/> except that the camera
@@ -4109,7 +4171,7 @@ reducing the noise level of the captured images.<wbr/></p>
 remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DEVICE_CUSTOM_START</span>
+                    <span class="entry_type_enum_name">DEVICE_CUSTOM_START (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_value">100</span>
@@ -4118,7 +4180,7 @@ remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></
 customized scene modes.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DEVICE_CUSTOM_END</span>
+                    <span class="entry_type_enum_name">DEVICE_CUSTOM_END (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_value">127</span>
@@ -4212,11 +4274,11 @@ capbility defined in <a href="#static_android.request.availableCapabilities">and
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
                   </li>
                 </ul>
@@ -4365,12 +4427,12 @@ OFF; otherwise the auto-exposure algorithm will override this value.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE must be captured
 after previous requests.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE may or may not be
 captured before previous requests.<wbr/></p></span>
                   </li>
@@ -5619,10 +5681,10 @@ switch the sensor mode as quick as possible to minimize the mode switch caused s
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                   </li>
                 </ul>
 
@@ -5681,10 +5743,10 @@ list <code>true</code>.<wbr/> This includes FULL devices.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                   </li>
                 </ul>
 
@@ -5959,23 +6021,23 @@ trigger</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will not adjust exposure duration to
 avoid banding problems.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">50HZ</span>
+                    <span class="entry_type_enum_name">50HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
 avoid banding problems with 50Hz illumination sources.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">60HZ</span>
+                    <span class="entry_type_enum_name">60HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will adjust exposure duration to
 avoid banding problems with 60Hz illumination
 sources.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will automatically adapt its
 antibanding routine to the current illumination
 condition.<wbr/> This is the default mode if AUTO is
@@ -6152,12 +6214,12 @@ FLASH_<wbr/>REQUIRED (if the scene is too dark for still capture).<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-exposure lock is disabled; the AE algorithm
 is free to update its parameters.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-exposure lock is enabled; the AE algorithm
 must not update the exposure and sensitivity parameters
 while the lock is active.<wbr/></p>
@@ -6256,7 +6318,7 @@ any flicker during the switch,<wbr/> the following procedure is recommended:</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is disabled.<wbr/></p>
 <p>The application-selected <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> and
@@ -6275,7 +6337,7 @@ for more details.<wbr/></p>
 override attempts to use this value to ON.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's autoexposure routine is active,<wbr/>
 with no flash control.<wbr/></p>
 <p>The application's values for
@@ -6286,7 +6348,7 @@ application has control over the various
 android.<wbr/>flash.<wbr/>* fields.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
 the camera's flash unit,<wbr/> firing it in low-light
 conditions.<wbr/></p>
@@ -6297,7 +6359,7 @@ may be fired for captures for which the
 STILL_<wbr/>CAPTURE</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
+                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON,<wbr/> except that the camera device also controls
 the camera's flash unit,<wbr/> always firing it for still
 captures.<wbr/></p>
@@ -6308,13 +6370,25 @@ will always be fired for captures for which the
 STILL_<wbr/>CAPTURE</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
+                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Like ON_<wbr/>AUTO_<wbr/>FLASH,<wbr/> but with automatic red eye
 reduction.<wbr/></p>
 <p>If deemed necessary by the camera device,<wbr/> a red eye
 reduction flash will fire during the precapture
 sequence.<wbr/></p></span>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON_EXTERNAL_FLASH (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>An external flash has been turned on.<wbr/></p>
+<p>It informs the camera device that an external flash has been turned on,<wbr/> and that
+metering (and continuous focus if active) should be quickly recaculated to account
+for the external flash.<wbr/> Otherwise,<wbr/> this mode acts like ON.<wbr/></p>
+<p>When the external flash is turned off,<wbr/> AE mode should be changed to one of the
+other available AE modes.<wbr/></p>
+<p>If the camera device supports AE external flash mode,<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> must
+be FLASH_<wbr/>REQUIRED after the camera device finishes AE scan and it's too dark without
+flash.<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -6548,18 +6622,18 @@ manual control of <a href="#controls_android.sensor.exposureTime">android.<wbr/>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">IDLE</span>
+                    <span class="entry_type_enum_name">IDLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">START</span>
+                    <span class="entry_type_enum_name">START (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The precapture metering sequence will be started
 by the camera device.<wbr/></p>
 <p>The exact effect of the precapture trigger depends on
 the current AE mode and state.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANCEL</span>
+                    <span class="entry_type_enum_name">CANCEL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device will cancel any currently active or completed
 precapture metering sequence,<wbr/> the auto-exposure routine will return to its
 initial state.<wbr/></p></span>
@@ -6678,36 +6752,36 @@ to minimize the latency for converging both focus and exposure/<wbr/>flash usage
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">INACTIVE</span>
+                    <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE is off or recently reset.<wbr/></p>
 <p>When a camera device is opened,<wbr/> it starts in
 this state.<wbr/> This is a transient state,<wbr/> the camera device may skip reporting
 this state in capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SEARCHING</span>
+                    <span class="entry_type_enum_name">SEARCHING (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE doesn't yet have a good set of control values
 for the current scene.<wbr/></p>
 <p>This is a transient state,<wbr/> the camera device may skip
 reporting this state in capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONVERGED</span>
+                    <span class="entry_type_enum_name">CONVERGED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE has a good set of control values for the
 current scene.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">LOCKED</span>
+                    <span class="entry_type_enum_name">LOCKED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE has been locked.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FLASH_REQUIRED</span>
+                    <span class="entry_type_enum_name">FLASH_REQUIRED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE has a good set of control values,<wbr/> but flash
 needs to be fired for good quality still
 capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PRECAPTURE</span>
+                    <span class="entry_type_enum_name">PRECAPTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AE has been asked to do a precapture sequence
 and is currently executing it.<wbr/></p>
 <p>Precapture can be triggered through setting
@@ -6776,7 +6850,7 @@ be good to use.<wbr/></p>
 </tr>
 </tbody>
 </table>
-<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON_<wbr/>*:</p>
+<p>When <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is AE_<wbr/>MODE_<wbr/>ON*:</p>
 <table>
 <thead>
 <tr>
@@ -6897,10 +6971,13 @@ be good to use.<wbr/></p>
 </tr>
 </tbody>
 </table>
+<p>If the camera device supports AE external flash mode (ON_<wbr/>EXTERNAL_<wbr/>FLASH is included in
+<a href="#static_android.control.aeAvailableModes">android.<wbr/>control.<wbr/>ae<wbr/>Available<wbr/>Modes</a>),<wbr/> <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> must be FLASH_<wbr/>REQUIRED after
+the camera device finishes AE scan and it's too dark without flash.<wbr/></p>
 <p>For the above table,<wbr/> the camera device may skip reporting any state changes that happen
 without application intervention (i.<wbr/>e.<wbr/> mode switch,<wbr/> trigger,<wbr/> locking).<wbr/> Any state that
 can be skipped in that manner is called a transient state.<wbr/></p>
-<p>For example,<wbr/> for above AE modes (AE_<wbr/>MODE_<wbr/>ON_<wbr/>*),<wbr/> in addition to the state transitions
+<p>For example,<wbr/> for above AE modes (AE_<wbr/>MODE_<wbr/>ON*),<wbr/> in addition to the state transitions
 listed in above table,<wbr/> it is also legal for the camera device to skip one or more
 transient states between two results.<wbr/> See below table for examples:</p>
 <table>
@@ -6982,13 +7059,13 @@ transient states between two results.<wbr/> See below table for examples:</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The auto-focus routine does not control the lens;
 <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> is controlled by the
 application.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Basic automatic focus mode.<wbr/></p>
 <p>In this mode,<wbr/> the lens does not move unless
 the autofocus trigger action is called.<wbr/> When that trigger
@@ -7001,7 +7078,7 @@ is fixed-focus.<wbr/></p>
 and sets the AF state to INACTIVE.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MACRO</span>
+                    <span class="entry_type_enum_name">MACRO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Close-up focusing mode.<wbr/></p>
 <p>In this mode,<wbr/> the lens does not move unless the
 autofocus trigger action is called.<wbr/> When that trigger is
@@ -7016,7 +7093,7 @@ position to default,<wbr/> and sets the AF state to
 INACTIVE.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
+                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
 position continually to attempt to provide a
 constantly-in-focus image stream.<wbr/></p>
@@ -7036,7 +7113,7 @@ ongoing PASSIVE_<wbr/>SCAN must immediately be
 canceled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
+                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>In this mode,<wbr/> the AF algorithm modifies the lens
 position continually to attempt to provide a
 constantly-in-focus image stream.<wbr/></p>
@@ -7055,7 +7132,7 @@ should transition back to INACTIVE and then act as if it
 has just been started.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">EDOF</span>
+                    <span class="entry_type_enum_name">EDOF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Extended depth of field (digital focus) mode.<wbr/></p>
 <p>The camera device will produce images with an extended
 depth of field automatically; no special focusing
@@ -7206,7 +7283,8 @@ camera device will add the weights in the overlap region.<wbr/></p>
 is used,<wbr/> all non-zero weights will have the same effect.<wbr/> A region with 0 weight is
 ignored.<wbr/></p>
 <p>If all regions have 0 weight,<wbr/> then no specific metering area needs to be used by the
-camera device.<wbr/></p>
+camera device.<wbr/> The capture result will either be a zero weight region as well,<wbr/> or
+the region selected by the camera device as the focus area of interest.<wbr/></p>
 <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
 capture result metadata,<wbr/> the camera device will ignore the sections outside the crop
 region and output only the intersection rectangle as the metering region in the result
@@ -7250,15 +7328,15 @@ exclusive on xmax and ymax.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">IDLE</span>
+                    <span class="entry_type_enum_name">IDLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The trigger is idle.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">START</span>
+                    <span class="entry_type_enum_name">START (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Autofocus will trigger now.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANCEL</span>
+                    <span class="entry_type_enum_name">CANCEL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Autofocus will return to its initial
 state,<wbr/> and cancel any currently active trigger.<wbr/></p></span>
                   </li>
@@ -7346,7 +7424,7 @@ to minimize the latency for converging both focus and exposure/<wbr/>flash usage
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">INACTIVE</span>
+                    <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF is off or has not yet tried to scan/<wbr/>been asked
 to scan.<wbr/></p>
 <p>When a camera device is opened,<wbr/> it starts in this
@@ -7355,7 +7433,7 @@ skip reporting this state in capture
 result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PASSIVE_SCAN</span>
+                    <span class="entry_type_enum_name">PASSIVE_SCAN (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF is currently performing an AF scan initiated the
 camera device in a continuous autofocus mode.<wbr/></p>
 <p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient
@@ -7363,7 +7441,7 @@ state,<wbr/> the camera device may skip reporting this state in
 capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
+                    <span class="entry_type_enum_name">PASSIVE_FOCUSED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF currently believes it is in focus,<wbr/> but may
 restart scanning at any time.<wbr/></p>
 <p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient
@@ -7371,7 +7449,7 @@ state,<wbr/> the camera device may skip reporting this state in
 capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ACTIVE_SCAN</span>
+                    <span class="entry_type_enum_name">ACTIVE_SCAN (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF is performing an AF scan because it was
 triggered by AF trigger.<wbr/></p>
 <p>Only used by AUTO or MACRO AF modes.<wbr/> This is a transient
@@ -7379,7 +7457,7 @@ state,<wbr/> the camera device may skip reporting this state in
 capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
+                    <span class="entry_type_enum_name">FOCUSED_LOCKED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF believes it is focused correctly and has locked
 focus.<wbr/></p>
 <p>This state is reached only after an explicit START AF trigger has been
@@ -7388,7 +7466,7 @@ sent (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>
 a new AF trigger is sent to the camera device (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a>).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
+                    <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF has failed to focus successfully and has locked
 focus.<wbr/></p>
 <p>This state is reached only after an explicit START AF trigger has been
@@ -7397,7 +7475,7 @@ sent (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>
 a new AF trigger is sent to the camera device (<a href="#controls_android.control.afTrigger">android.<wbr/>control.<wbr/>af<wbr/>Trigger</a>).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
+                    <span class="entry_type_enum_name">PASSIVE_UNFOCUSED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AF finished a passive scan without finding focus,<wbr/>
 and may restart scanning at any time.<wbr/></p>
 <p>Only used by CONTINUOUS_<wbr/>* AF modes.<wbr/> This is a transient state,<wbr/> the camera
@@ -7892,13 +7970,13 @@ ignores the trigger</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-white balance lock is disabled; the AWB
 algorithm is free to update its parameters if in AUTO
 mode.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Auto-white balance lock is enabled; the AWB
 algorithm will not update its parameters while the lock
 is active.<wbr/></p></span>
@@ -7978,7 +8056,7 @@ AWB is already fixed to a specific setting.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled.<wbr/></p>
 <p>The application-selected color transform matrix
 (<a href="#controls_android.colorCorrection.transform">android.<wbr/>color<wbr/>Correction.<wbr/>transform</a>) and gains
@@ -7986,7 +8064,7 @@ AWB is already fixed to a specific setting.<wbr/></p>
 device for manual white balance control.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is active.<wbr/></p>
 <p>The application's values for <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> are ignored.<wbr/>
@@ -7995,7 +8073,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">INCANDESCENT</span>
+                    <span class="entry_type_enum_name">INCANDESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses incandescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8009,7 +8087,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FLUORESCENT</span>
+                    <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses fluorescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8023,7 +8101,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">WARM_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses warm fluorescent light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8037,7 +8115,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DAYLIGHT</span>
+                    <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses daylight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8051,7 +8129,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
+                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses cloudy daylight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8062,7 +8140,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TWILIGHT</span>
+                    <span class="entry_type_enum_name">TWILIGHT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses twilight light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8073,7 +8151,7 @@ values used by the camera device for the transform and gains
 will be available in the capture result for this request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SHADE</span>
+                    <span class="entry_type_enum_name">SHADE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device's auto-white balance routine is disabled;
 the camera device uses shade light as the assumed scene
 illumination for white balance.<wbr/></p>
@@ -8256,30 +8334,30 @@ exclusive on xmax and ymax.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CUSTOM</span>
+                    <span class="entry_type_enum_name">CUSTOM (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The goal of this request doesn't fall into the other
 categories.<wbr/> The camera device will default to preview-like
 behavior.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PREVIEW</span>
+                    <span class="entry_type_enum_name">PREVIEW (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a preview-like use case.<wbr/></p>
 <p>The precapture trigger may be used to start off a metering
 w/<wbr/>flash sequence.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STILL_CAPTURE</span>
+                    <span class="entry_type_enum_name">STILL_CAPTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a still capture-type
 use case.<wbr/></p>
 <p>If the flash unit is under automatic control,<wbr/> it may fire as needed.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">VIDEO_RECORD</span>
+                    <span class="entry_type_enum_name">VIDEO_RECORD (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a video recording
 use case.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
+                    <span class="entry_type_enum_name">VIDEO_SNAPSHOT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a video snapshot (still
 image while recording video) use case.<wbr/></p>
 <p>The camera device should take the highest-quality image
@@ -8287,19 +8365,27 @@ possible (given the other settings) without disrupting the
 frame rate of video recording.<wbr/>  </p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for a ZSL usecase; the
 application will stream full-resolution images and
 reprocess one or several later for a final
 capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MANUAL</span>
+                    <span class="entry_type_enum_name">MANUAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This request is for manual capture use case where
 the applications want to directly control the capture parameters.<wbr/></p>
 <p>For example,<wbr/> the application may wish to manually control
 <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>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">MOTION_TRACKING (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>This request is for a motion tracking use case,<wbr/> where
+the application will use camera and inertial sensor data to
+locate and track objects in the world.<wbr/></p>
+<p>The camera device auto-exposure routine will limit the exposure time
+of the camera to no more than 20 milliseconds,<wbr/> to minimize motion blur.<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -8335,10 +8421,13 @@ strategy.<wbr/></p>
             <td class="entry_details" colspan="6">
               <p>This control (except for MANUAL) is only effective if
 <code><a href="#controls_android.control.mode">android.<wbr/>control.<wbr/>mode</a> != OFF</code> and any 3A routine is active.<wbr/></p>
-<p>ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>
-contains PRIVATE_<wbr/>REPROCESSING or YUV_<wbr/>REPROCESSING.<wbr/> MANUAL will be supported if
-<a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains MANUAL_<wbr/>SENSOR.<wbr/> Other intent values are
-always supported.<wbr/></p>
+<p>All intents are supported by all devices,<wbr/> except that:
+  * ZERO_<wbr/>SHUTTER_<wbr/>LAG will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+PRIVATE_<wbr/>REPROCESSING or YUV_<wbr/>REPROCESSING.<wbr/>
+  * MANUAL will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+MANUAL_<wbr/>SENSOR.<wbr/>
+  * MOTION_<wbr/>TRACKING will be supported if <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a> contains
+MOTION_<wbr/>TRACKING.<wbr/></p>
             </td>
           </tr>
 
@@ -8364,7 +8453,7 @@ always supported.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">INACTIVE</span>
+                    <span class="entry_type_enum_name">INACTIVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AWB is not in auto mode,<wbr/> or has not yet started metering.<wbr/></p>
 <p>When a camera device is opened,<wbr/> it starts in this
 state.<wbr/> This is a transient state,<wbr/> the camera device may
@@ -8372,19 +8461,19 @@ skip reporting this state in capture
 result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SEARCHING</span>
+                    <span class="entry_type_enum_name">SEARCHING (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AWB doesn't yet have a good set of control
 values for the current scene.<wbr/></p>
 <p>This is a transient state,<wbr/> the camera device
 may skip reporting this state in capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONVERGED</span>
+                    <span class="entry_type_enum_name">CONVERGED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AWB has a good set of control values for the
 current scene.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">LOCKED</span>
+                    <span class="entry_type_enum_name">LOCKED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>AWB has been locked.<wbr/></p></span>
                   </li>
                 </ul>
@@ -8554,56 +8643,56 @@ transient states between two results.<wbr/> See below table for examples:</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No color effect will be applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MONO</span>
+                    <span class="entry_type_enum_name">MONO (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "monocolor" effect where the image is mapped into
 a single color.<wbr/></p>
 <p>This will typically be grayscale.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NEGATIVE</span>
+                    <span class="entry_type_enum_name">NEGATIVE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "photo-negative" effect where the image's colors
 are inverted.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SOLARIZE</span>
+                    <span class="entry_type_enum_name">SOLARIZE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "solarisation" effect (Sabattier effect) where the
 image is wholly or partially reversed in
 tone.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SEPIA</span>
+                    <span class="entry_type_enum_name">SEPIA (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "sepia" effect where the image is mapped into warm
 gray,<wbr/> red,<wbr/> and brown tones.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">POSTERIZE</span>
+                    <span class="entry_type_enum_name">POSTERIZE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "posterization" effect where the image uses
 discrete regions of tone rather than a continuous
 gradient of tones.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">WHITEBOARD</span>
+                    <span class="entry_type_enum_name">WHITEBOARD (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "whiteboard" effect where the image is typically displayed
 as regions of white,<wbr/> with black or grey details.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BLACKBOARD</span>
+                    <span class="entry_type_enum_name">BLACKBOARD (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>A "blackboard" effect where the image is typically displayed
 as regions of black,<wbr/> with white or grey details.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AQUA</span>
+                    <span class="entry_type_enum_name">AQUA (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>An "aqua" effect where a blue hue is added to the image.<wbr/></p></span>
                   </li>
@@ -8669,7 +8758,7 @@ devices.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Full application control of pipeline.<wbr/></p>
 <p>All control by the device's metering and focusing (3A)
 routines is disabled,<wbr/> and no other settings in
@@ -8684,14 +8773,14 @@ when control is switched to AUTO mode,<wbr/> good control values
 can be immediately applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">AUTO</span>
+                    <span class="entry_type_enum_name">AUTO (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use settings for each individual 3A routine.<wbr/></p>
 <p>Manual control of capture parameters is disabled.<wbr/> All
 controls in android.<wbr/>control.<wbr/>* besides sceneMode take
 effect.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">USE_SCENE_MODE</span>
+                    <span class="entry_type_enum_name">USE_SCENE_MODE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Use a specific scene mode.<wbr/></p>
 <p>Enabling this disables control.<wbr/>aeMode,<wbr/> control.<wbr/>awbMode and
@@ -8703,7 +8792,7 @@ This setting can only be used if scene mode is supported (i.<wbr/>e.<wbr/>
 contain some modes other than DISABLED).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">OFF_KEEP_STATE</span>
+                    <span class="entry_type_enum_name">OFF_KEEP_STATE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Same as OFF mode,<wbr/> except that this capture will not be
 used by camera device background auto-exposure,<wbr/> auto-white balance and
@@ -8786,12 +8875,12 @@ the subsequent auto 3A capture results.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">DISABLED</span>
+                    <span class="entry_type_enum_name">DISABLED (v3.2)</span>
                     <span class="entry_type_enum_value">0</span>
                     <span class="entry_type_enum_notes"><p>Indicates that no scene modes are set for a given capture request.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FACE_PRIORITY</span>
+                    <span class="entry_type_enum_name">FACE_PRIORITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>If face detection support exists,<wbr/> use face
 detection data for auto-focus,<wbr/> auto-white balance,<wbr/> and
 auto-exposure routines.<wbr/></p>
@@ -8804,91 +8893,91 @@ face detection statistics to the framework).<wbr/></p>
 remain active when FACE_<wbr/>PRIORITY is set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ACTION</span>
+                    <span class="entry_type_enum_name">ACTION (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving objects.<wbr/></p>
 <p>Similar to SPORTS.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PORTRAIT</span>
+                    <span class="entry_type_enum_name">PORTRAIT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for still photos of people.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">LANDSCAPE</span>
+                    <span class="entry_type_enum_name">LANDSCAPE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of distant macroscopic objects.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NIGHT</span>
+                    <span class="entry_type_enum_name">NIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for low-light settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
+                    <span class="entry_type_enum_name">NIGHT_PORTRAIT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for still photos of people in low-light
 settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">THEATRE</span>
+                    <span class="entry_type_enum_name">THEATRE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings where flash must
 remain off.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BEACH</span>
+                    <span class="entry_type_enum_name">BEACH (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor beach settings.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SNOW</span>
+                    <span class="entry_type_enum_name">SNOW (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for bright,<wbr/> outdoor settings containing snow.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SUNSET</span>
+                    <span class="entry_type_enum_name">SUNSET (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for scenes of the setting sun.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STEADYPHOTO</span>
+                    <span class="entry_type_enum_name">STEADYPHOTO (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized to avoid blurry photos due to small amounts of
 device motion (for example: due to hand shake).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FIREWORKS</span>
+                    <span class="entry_type_enum_name">FIREWORKS (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for nighttime photos of fireworks.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SPORTS</span>
+                    <span class="entry_type_enum_name">SPORTS (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for photos of quickly moving people.<wbr/></p>
 <p>Similar to ACTION.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PARTY</span>
+                    <span class="entry_type_enum_name">PARTY (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim,<wbr/> indoor settings with multiple moving
 people.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CANDLELIGHT</span>
+                    <span class="entry_type_enum_name">CANDLELIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for dim settings where the main light source
 is a flame.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BARCODE</span>
+                    <span class="entry_type_enum_name">BARCODE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optimized for accurately capturing a photo of barcode
 for use by camera applications that wish to read the
 barcode value.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_SPEED_VIDEO</span>
+                    <span class="entry_type_enum_name">HIGH_SPEED_VIDEO (v3.2)</span>
                     <span class="entry_type_enum_deprecated">[deprecated]</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>This is deprecated,<wbr/> please use <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>
@@ -8953,7 +9042,7 @@ reconfigurations,<wbr/> which may introduce extra latency.<wbr/> It is recommend
 the application avoids unnecessary scene mode switch as much as possible.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HDR</span>
+                    <span class="entry_type_enum_name">HDR (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Turn on a device-specific high dynamic range (HDR) mode.<wbr/></p>
 <p>In this scene mode,<wbr/> the camera device captures images
@@ -8998,7 +9087,7 @@ or capture intents,<wbr/> the images captured will be as if
 the SCENE_<wbr/>MODE was not enabled at all.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT</span>
+                    <span class="entry_type_enum_name">FACE_PRIORITY_LOW_LIGHT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_notes"><p>Same as FACE_<wbr/>PRIORITY scene mode,<wbr/> except that the camera
@@ -9024,7 +9113,7 @@ reducing the noise level of the captured images.<wbr/></p>
 remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DEVICE_CUSTOM_START</span>
+                    <span class="entry_type_enum_name">DEVICE_CUSTOM_START (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_value">100</span>
@@ -9033,7 +9122,7 @@ remain active when FACE_<wbr/>PRIORITY_<wbr/>LOW_<wbr/>LIGHT is set.<wbr/></p></
 customized scene modes.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DEVICE_CUSTOM_END</span>
+                    <span class="entry_type_enum_name">DEVICE_CUSTOM_END (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_hidden">[hidden]</span>
                     <span class="entry_type_enum_value">127</span>
@@ -9127,11 +9216,11 @@ capbility defined in <a href="#static_android.request.availableCapabilities">and
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Video stabilization is disabled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Video stabilization is enabled.<wbr/></p></span>
                   </li>
                 </ul>
@@ -9280,12 +9369,12 @@ OFF; otherwise the auto-exposure algorithm will override this value.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE must be captured
 after previous requests.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Requests with <a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a> == STILL_<wbr/>CAPTURE may or may not be
 captured before previous requests.<wbr/></p></span>
                   </li>
@@ -9354,6 +9443,71 @@ capture intent.<wbr/></p>
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
+                
+          <tr class="entry" id="dynamic_android.control.afSceneChange">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>control.<wbr/>af<wbr/>Scene<wbr/>Change
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
+
+              <span class="entry_type_visibility"> [public]</span>
+
+
+
+
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">NOT_DETECTED (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Scene change is not detected within the AF region(s).<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">DETECTED (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Scene change is detected within the AF region(s).<wbr/></p></span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>Whether a significant scene change is detected within the currently-set AF
+region(s).<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>When the camera focus routine detects a change in the scene it is looking at,<wbr/>
+such as a large shift in camera viewpoint,<wbr/> significant motion in the scene,<wbr/> or a
+significant illumination change,<wbr/> this value will be set to DETECTED for a single capture
+result.<wbr/> Otherwise the value will be NOT_<wbr/>DETECTED.<wbr/> The threshold for detection is similar
+to what would trigger a new passive focus scan to begin in CONTINUOUS autofocus modes.<wbr/></p>
+<p>This key will be available if the camera device advertises this key via <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#getAvailableCaptureResultKeys">CameraCharacteristics#getAvailableCaptureResultKeys</a>.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
         
 
       <!-- end of kind -->
@@ -9404,12 +9558,12 @@ capture intent.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Minimal or no slowdown of frame rate compared to
 Bayer RAW output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Improved processing quality but the frame rate might be slowed down
 relative to raw output.<wbr/></p></span>
                   </li>
@@ -9495,21 +9649,21 @@ processing.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No edge enhancement is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply edge enhancement at a quality level that does not slow down frame rate
 relative to sensor output.<wbr/> It may be the same as OFF if edge enhancement will
 slow down frame rate relative to sensor.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply high-quality edge enhancement,<wbr/> at a cost of possibly reduced output frame rate.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Edge enhancement is applied at different
 levels for different output streams,<wbr/> based on resolution.<wbr/> Streams at maximum recording
@@ -9794,21 +9948,21 @@ capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the same outp
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No edge enhancement is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply edge enhancement at a quality level that does not slow down frame rate
 relative to sensor output.<wbr/> It may be the same as OFF if edge enhancement will
 slow down frame rate relative to sensor.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply high-quality edge enhancement,<wbr/> at a cost of possibly reduced output frame rate.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Edge enhancement is applied at different
 levels for different output streams,<wbr/> based on resolution.<wbr/> Streams at maximum recording
@@ -10062,16 +10216,16 @@ duration).<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SINGLE</span>
+                    <span class="entry_type_enum_name">SINGLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
 for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TORCH</span>
+                    <span class="entry_type_enum_name">TORCH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
                   </li>
                 </ul>
@@ -10172,10 +10326,10 @@ for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                   </li>
                 </ul>
 
@@ -10529,16 +10683,16 @@ duration).<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not fire the flash for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SINGLE</span>
+                    <span class="entry_type_enum_name">SINGLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>If the flash is available and charged,<wbr/> fire flash
 for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TORCH</span>
+                    <span class="entry_type_enum_name">TORCH (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Transition flash to continuously on.<wbr/></p></span>
                   </li>
                 </ul>
@@ -10609,23 +10763,23 @@ for use cases such as preview,<wbr/> auto-focus assist,<wbr/> still capture,<wbr
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">UNAVAILABLE</span>
+                    <span class="entry_type_enum_name">UNAVAILABLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No flash on camera.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CHARGING</span>
+                    <span class="entry_type_enum_name">CHARGING (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Flash is charging and cannot be fired.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">READY</span>
+                    <span class="entry_type_enum_name">READY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Flash is ready to fire.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FIRED</span>
+                    <span class="entry_type_enum_name">FIRED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Flash fired for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PARTIAL</span>
+                    <span class="entry_type_enum_name">PARTIAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Flash partially illuminated this frame.<wbr/></p>
 <p>This is usually due to the next or previous frame having
 the flash fire,<wbr/> and the flash spilling into this capture
@@ -10729,20 +10883,20 @@ LEGACY devices (i.<wbr/>e.<wbr/> it will be <code>null</code>).<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No hot pixel correction is applied.<wbr/></p>
 <p>The frame rate must not be reduced relative to sensor raw output
 for this option.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel correction is applied,<wbr/> without reducing frame
 rate relative to sensor raw output.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality hot pixel correction is applied,<wbr/> at a cost
 of possibly reduced frame rate relative to sensor raw output.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
@@ -10935,20 +11089,20 @@ capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the same outp
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No hot pixel correction is applied.<wbr/></p>
 <p>The frame rate must not be reduced relative to sensor raw output
 for this option.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel correction is applied,<wbr/> without reducing frame
 rate relative to sensor raw output.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality hot pixel correction is applied,<wbr/> at a cost
 of possibly reduced frame rate relative to sensor raw output.<wbr/></p>
 <p>The hotpixel map may be returned in <a href="#dynamic_android.statistics.hotPixelMap">android.<wbr/>statistics.<wbr/>hot<wbr/>Pixel<wbr/>Map</a>.<wbr/></p></span>
@@ -12532,11 +12686,11 @@ for infinity focus.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
                   </li>
@@ -13077,7 +13231,7 @@ must be smaller than 64x64.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">UNCALIBRATED</span>
+                    <span class="entry_type_enum_name">UNCALIBRATED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The lens focus distance is not accurate,<wbr/> and the units used for
 <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a> do not correspond to any physical units.<wbr/></p>
 <p>Setting the lens to the same focus distance on separate occasions may
@@ -13088,7 +13242,7 @@ in the range of <code>[0,<wbr/> <a href="#static_android.lens.info.minimumFocusD
 represents the farthest focus.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">APPROXIMATE</span>
+                    <span class="entry_type_enum_name">APPROXIMATE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The lens focus distance is measured in diopters.<wbr/></p>
 <p>However,<wbr/> setting the lens to the same focus distance
 on separate occasions may result in a different real
@@ -13097,7 +13251,7 @@ orientation of the device,<wbr/> the age of the focusing
 mechanism,<wbr/> and the device temperature.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CALIBRATED</span>
+                    <span class="entry_type_enum_name">CALIBRATED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The lens focus distance is measured in diopters,<wbr/> and
 is calibrated.<wbr/></p>
 <p>The lens mechanism is calibrated so that setting the
@@ -13191,15 +13345,15 @@ the output diopter value should be changing toward 0.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FRONT</span>
+                    <span class="entry_type_enum_name">FRONT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device faces the same direction as the device's screen.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BACK</span>
+                    <span class="entry_type_enum_name">BACK (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device faces the opposite direction as the device's screen.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">EXTERNAL</span>
+                    <span class="entry_type_enum_name">EXTERNAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device is an external camera,<wbr/> and has no fixed facing relative to the
 device's screen.<wbr/></p></span>
                   </li>
@@ -13366,32 +13520,28 @@ used:</p>
           <tr class="entry_cont">
             <td class="entry_details" colspan="6">
               <p>The position of the camera device's lens optical center,<wbr/>
-as a three-dimensional vector <code>(x,<wbr/>y,<wbr/>z)</code>,<wbr/> relative to the
-optical center of the largest camera device facing in the
-same direction as this camera,<wbr/> in the <a href="https://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor coordinate
-axes</a>.<wbr/> Note that only the axis definitions are shared with
-the sensor coordinate system,<wbr/> but not the origin.<wbr/></p>
-<p>If this device is the largest or only camera device with a
-given facing,<wbr/> then this position will be <code>(0,<wbr/> 0,<wbr/> 0)</code>; a
-camera device with a lens optical center located 3 cm from
-the main sensor along the +X axis (to the right from the
-user's perspective) will report <code>(0.<wbr/>03,<wbr/> 0,<wbr/> 0)</code>.<wbr/></p>
-<p>To transform a pixel coordinates between two cameras
-facing the same direction,<wbr/> first the source camera
-<a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a> must be corrected for.<wbr/>  Then
-the source camera <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> needs
-to be applied,<wbr/> followed by the <a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a>
-of the source camera,<wbr/> the translation of the source camera
-relative to the destination camera,<wbr/> the
-<a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the destination camera,<wbr/> and
-finally the inverse of <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a>
-of the destination camera.<wbr/> This obtains a
-radial-distortion-free coordinate in the destination
-camera pixel coordinates.<wbr/></p>
-<p>To compare this against a real image from the destination
-camera,<wbr/> the destination camera image then needs to be
-corrected for radial distortion before comparison or
-sampling.<wbr/></p>
+as a three-dimensional vector <code>(x,<wbr/>y,<wbr/>z)</code>.<wbr/></p>
+<p>Prior to Android P,<wbr/> or when <a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> is PRIMARY_<wbr/>CAMERA,<wbr/> this position
+is relative to the optical center of the largest camera device facing in the same
+direction as this camera,<wbr/> in the <a href="https://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor
+coordinate axes</a>.<wbr/> Note that only the axis definitions are shared with the sensor
+coordinate system,<wbr/> but not the origin.<wbr/></p>
+<p>If this device is the largest or only camera device with a given facing,<wbr/> then this
+position will be <code>(0,<wbr/> 0,<wbr/> 0)</code>; a camera device with a lens optical center located 3 cm
+from the main sensor along the +X axis (to the right from the user's perspective) will
+report <code>(0.<wbr/>03,<wbr/> 0,<wbr/> 0)</code>.<wbr/></p>
+<p>To transform a pixel coordinates between two cameras facing the same direction,<wbr/> first
+the source camera <a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a> must be corrected for.<wbr/>  Then the source
+camera <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> needs to be applied,<wbr/> followed by the
+<a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the source camera,<wbr/> the translation of the source camera
+relative to the destination camera,<wbr/> the <a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the destination
+camera,<wbr/> and finally the inverse of <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> of the destination
+camera.<wbr/> This obtains a radial-distortion-free coordinate in the destination camera pixel
+coordinates.<wbr/></p>
+<p>To compare this against a real image from the destination camera,<wbr/> the destination camera
+image then needs to be corrected for radial distortion before comparison or sampling.<wbr/></p>
+<p>When <a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> is GYROSCOPE,<wbr/> then this position is relative to
+the center of the primary gyroscope on the device.<wbr/></p>
             </td>
           </tr>
 
@@ -13589,6 +13739,69 @@ is therefore no larger than <code>|<wbr/>r|<wbr/> &lt;= sqrt(2)</code>.<wbr/></p
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
+                
+          <tr class="entry" id="static_android.lens.poseReference">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>lens.<wbr/>pose<wbr/>Reference
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
+
+              <span class="entry_type_visibility"> [public]</span>
+
+
+
+
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">PRIMARY_CAMERA (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>The value of <a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a> is relative to the optical center of
+the largest camera device facing the same direction as this camera.<wbr/></p>
+<p>This is the default value for API levels before Android P.<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">GYROSCOPE (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>The value of <a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a> is relative to the position of the
+primary gyroscope of this Android device.<wbr/></p></span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>The origin for <a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a>.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>Different calibration methods and use cases can produce better or worse results
+depending on the selected coordinate origin.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
         
 
       <!-- end of kind -->
@@ -13952,11 +14165,11 @@ fixed depth of field range</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Optical stabilization is unavailable.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Optical stabilization is enabled.<wbr/></p></span>
                   </li>
@@ -14034,12 +14247,12 @@ available controls.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">STATIONARY</span>
+                    <span class="entry_type_enum_name">STATIONARY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The lens parameters (<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>,<wbr/> <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a>,<wbr/>
 <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> and <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>) are not changing.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MOVING</span>
+                    <span class="entry_type_enum_name">MOVING (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>One or several of the lens parameters
 (<a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a>,<wbr/> <a href="#controls_android.lens.focusDistance">android.<wbr/>lens.<wbr/>focus<wbr/>Distance</a>,<wbr/>
 <a href="#controls_android.lens.filterDensity">android.<wbr/>lens.<wbr/>filter<wbr/>Density</a> or <a href="#controls_android.lens.aperture">android.<wbr/>lens.<wbr/>aperture</a>) is
@@ -14236,32 +14449,28 @@ used:</p>
           <tr class="entry_cont">
             <td class="entry_details" colspan="6">
               <p>The position of the camera device's lens optical center,<wbr/>
-as a three-dimensional vector <code>(x,<wbr/>y,<wbr/>z)</code>,<wbr/> relative to the
-optical center of the largest camera device facing in the
-same direction as this camera,<wbr/> in the <a href="https://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor coordinate
-axes</a>.<wbr/> Note that only the axis definitions are shared with
-the sensor coordinate system,<wbr/> but not the origin.<wbr/></p>
-<p>If this device is the largest or only camera device with a
-given facing,<wbr/> then this position will be <code>(0,<wbr/> 0,<wbr/> 0)</code>; a
-camera device with a lens optical center located 3 cm from
-the main sensor along the +X axis (to the right from the
-user's perspective) will report <code>(0.<wbr/>03,<wbr/> 0,<wbr/> 0)</code>.<wbr/></p>
-<p>To transform a pixel coordinates between two cameras
-facing the same direction,<wbr/> first the source camera
-<a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a> must be corrected for.<wbr/>  Then
-the source camera <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> needs
-to be applied,<wbr/> followed by the <a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a>
-of the source camera,<wbr/> the translation of the source camera
-relative to the destination camera,<wbr/> the
-<a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the destination camera,<wbr/> and
-finally the inverse of <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a>
-of the destination camera.<wbr/> This obtains a
-radial-distortion-free coordinate in the destination
-camera pixel coordinates.<wbr/></p>
-<p>To compare this against a real image from the destination
-camera,<wbr/> the destination camera image then needs to be
-corrected for radial distortion before comparison or
-sampling.<wbr/></p>
+as a three-dimensional vector <code>(x,<wbr/>y,<wbr/>z)</code>.<wbr/></p>
+<p>Prior to Android P,<wbr/> or when <a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> is PRIMARY_<wbr/>CAMERA,<wbr/> this position
+is relative to the optical center of the largest camera device facing in the same
+direction as this camera,<wbr/> in the <a href="https://developer.android.com/reference/android/hardware/SensorEvent.html">Android sensor
+coordinate axes</a>.<wbr/> Note that only the axis definitions are shared with the sensor
+coordinate system,<wbr/> but not the origin.<wbr/></p>
+<p>If this device is the largest or only camera device with a given facing,<wbr/> then this
+position will be <code>(0,<wbr/> 0,<wbr/> 0)</code>; a camera device with a lens optical center located 3 cm
+from the main sensor along the +X axis (to the right from the user's perspective) will
+report <code>(0.<wbr/>03,<wbr/> 0,<wbr/> 0)</code>.<wbr/></p>
+<p>To transform a pixel coordinates between two cameras facing the same direction,<wbr/> first
+the source camera <a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a> must be corrected for.<wbr/>  Then the source
+camera <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> needs to be applied,<wbr/> followed by the
+<a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the source camera,<wbr/> the translation of the source camera
+relative to the destination camera,<wbr/> the <a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a> of the destination
+camera,<wbr/> and finally the inverse of <a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a> of the destination
+camera.<wbr/> This obtains a radial-distortion-free coordinate in the destination camera pixel
+coordinates.<wbr/></p>
+<p>To compare this against a real image from the destination camera,<wbr/> the destination camera
+image then needs to be corrected for radial distortion before comparison or sampling.<wbr/></p>
+<p>When <a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> is GYROSCOPE,<wbr/> then this position is relative to
+the center of the primary gyroscope on the device.<wbr/></p>
             </td>
           </tr>
 
@@ -14510,28 +14719,28 @@ is therefore no larger than <code>|<wbr/>r|<wbr/> &lt;= sqrt(2)</code>.<wbr/></p
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No noise reduction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Noise reduction is applied without reducing frame rate relative to sensor
 output.<wbr/> It may be the same as OFF if noise reduction will reduce frame rate
 relative to sensor.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality noise reduction is applied,<wbr/> at the cost of possibly reduced frame
 rate relative to sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MINIMAL</span>
+                    <span class="entry_type_enum_name">MINIMAL (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>MINIMAL noise reduction is applied without reducing frame rate relative to
 sensor output.<wbr/> </p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Noise reduction is applied at different levels for different output streams,<wbr/>
 based on resolution.<wbr/> Streams at maximum recording resolution (see <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a>)
@@ -14823,28 +15032,28 @@ capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the same outp
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No noise reduction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Noise reduction is applied without reducing frame rate relative to sensor
 output.<wbr/> It may be the same as OFF if noise reduction will reduce frame rate
 relative to sensor.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality noise reduction is applied,<wbr/> at the cost of possibly reduced frame
 rate relative to sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MINIMAL</span>
+                    <span class="entry_type_enum_name">MINIMAL (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>MINIMAL noise reduction is applied without reducing frame rate relative to
 sensor output.<wbr/> </p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
+                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Noise reduction is applied at different levels for different output streams,<wbr/>
 based on resolution.<wbr/> Streams at maximum recording resolution (see <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">CameraDevice#createCaptureSession</a>)
@@ -15266,12 +15475,12 @@ for information on how to implement partial results.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FINAL</span>
+                    <span class="entry_type_enum_name">FINAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The last or only metadata result buffer
 for this capture.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PARTIAL</span>
+                    <span class="entry_type_enum_name">PARTIAL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>A partial buffer of result metadata for this
 capture.<wbr/> More result buffers for this capture will be sent
 by the camera device,<wbr/> the last of which will be marked
@@ -15544,7 +15753,7 @@ REPROCESS.<wbr/> Ignored otherwise</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">NONE</span>
+                    <span class="entry_type_enum_name">NONE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
 for application-bound buffer data.<wbr/> If no
 application-bound streams exist,<wbr/> no frame should be
@@ -15555,7 +15764,7 @@ information.<wbr/> Timestamp information should still be
 included with any output stream buffers</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FULL</span>
+                    <span class="entry_type_enum_name">FULL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
 only be produced if they are separately
 enabled</p></span>
@@ -15676,13 +15885,13 @@ and the lens and flash must operate as requested.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CAPTURE</span>
+                    <span class="entry_type_enum_name">CAPTURE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Capture a new image from the imaging hardware,<wbr/>
 and process it according to the
 settings</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">REPROCESS</span>
+                    <span class="entry_type_enum_name">REPROCESS (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Process previously captured data; the
 <a href="#controls_android.request.inputStreams">android.<wbr/>request.<wbr/>input<wbr/>Streams</a> parameter determines the
 source reprocessing stream.<wbr/> TODO: Mark dynamic metadata
@@ -16324,7 +16533,7 @@ partial results.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">BACKWARD_COMPATIBLE</span>
+                    <span class="entry_type_enum_name">BACKWARD_COMPATIBLE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The minimal set of capabilities that every camera
 device (regardless of <a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a>)
 supports.<wbr/></p>
@@ -16337,7 +16546,7 @@ capability,<wbr/> indicating that they support only depth measurement,<wbr/>
 not standard color output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MANUAL_SENSOR</span>
+                    <span class="entry_type_enum_name">MANUAL_SENSOR (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device can be manually controlled (3A algorithms such
 as auto-exposure,<wbr/> and auto-focus can be bypassed).<wbr/>
@@ -16387,7 +16596,7 @@ additionally return a min frame duration that is greater than
 zero for each supported size-format combination.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">MANUAL_POST_PROCESSING</span>
+                    <span class="entry_type_enum_name">MANUAL_POST_PROCESSING (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device post-processing stages can be manually controlled.<wbr/>
 The camera device supports basic manual control of the image post-processing
@@ -16433,7 +16642,7 @@ will accurately report the values applied by AWB in the result.<wbr/></p>
 controls,<wbr/> but this capability only covers the above list of controls.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">RAW</span>
+                    <span class="entry_type_enum_name">RAW (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports outputting RAW buffers and
 metadata for interpreting them.<wbr/></p>
@@ -16451,7 +16660,7 @@ raw sensor images.<wbr/></p>
 </ul></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PRIVATE_REPROCESSING</span>
+                    <span class="entry_type_enum_name">PRIVATE_REPROCESSING (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports the Zero Shutter Lag reprocessing use case.<wbr/></p>
 <ul>
@@ -16484,7 +16693,7 @@ raw sensor images.<wbr/></p>
 </ul></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">READ_SENSOR_SETTINGS</span>
+                    <span class="entry_type_enum_name">READ_SENSOR_SETTINGS (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports accurately reporting the sensor settings for many of
 the sensor controls while the built-in 3A algorithm is running.<wbr/>  This allows
@@ -16510,7 +16719,7 @@ in the CaptureResult,<wbr/> including when 3A is enabled:</p>
 always be included if the MANUAL_<wbr/>SENSOR capability is available.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BURST_CAPTURE</span>
+                    <span class="entry_type_enum_name">BURST_CAPTURE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports capturing high-resolution images at &gt;= 20 frames per
 second,<wbr/> in at least the uncompressed YUV format,<wbr/> when post-processing settings are set
@@ -16519,7 +16728,7 @@ per second.<wbr/>  Here,<wbr/> 'high resolution' means at least 8 megapixels,<wb
 resolution of the device,<wbr/> whichever is smaller.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">YUV_REPROCESSING</span>
+                    <span class="entry_type_enum_name">YUV_REPROCESSING (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports the YUV_<wbr/>420_<wbr/>888 reprocessing use case,<wbr/> similar as
 PRIVATE_<wbr/>REPROCESSING,<wbr/> This capability requires the camera device to support the
@@ -16553,7 +16762,7 @@ following:</p>
 </ul></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DEPTH_OUTPUT</span>
+                    <span class="entry_type_enum_name">DEPTH_OUTPUT (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The camera device can produce depth measurements from its field of view.<wbr/></p>
 <p>This capability requires the camera device to support the following:</p>
@@ -16572,6 +16781,7 @@ following:</p>
 </ul>
 </li>
 <li>The <a href="#static_android.depth.depthIsExclusive">android.<wbr/>depth.<wbr/>depth<wbr/>Is<wbr/>Exclusive</a> entry is listed by this device.<wbr/></li>
+<li>As of Android P,<wbr/> the <a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a> entry is listed by this device.<wbr/></li>
 <li>A LIMITED camera with only the DEPTH_<wbr/>OUTPUT capability does not have to support
   normal YUV_<wbr/>420_<wbr/>888,<wbr/> JPEG,<wbr/> and PRIV-format outputs.<wbr/> It only has to support the DEPTH16
   format.<wbr/></li>
@@ -16585,7 +16795,7 @@ once every N frames,<wbr/> where N is the ratio between preview output rate and
 rate,<wbr/> including depth stall time.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CONSTRAINED_HIGH_SPEED_VIDEO</span>
+                    <span class="entry_type_enum_name">CONSTRAINED_HIGH_SPEED_VIDEO (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>The device supports constrained high speed video recording (frame rate &gt;=120fps) use
 case.<wbr/> The camera device will support high speed capture session created by <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createConstrainedHighSpeedCaptureSession">CameraDevice#createConstrainedHighSpeedCaptureSession</a>,<wbr/> which
@@ -16653,6 +16863,58 @@ reconfigurations,<wbr/> which may introduce extra latency.<wbr/> It is recommend
 the application avoids unnecessary maximum target FPS changes as much as possible
 during high speed streaming.<wbr/></p></span>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">MOTION_TRACKING (v3.3)</span>
+                    <span class="entry_type_enum_optional">[optional]</span>
+                    <span class="entry_type_enum_notes"><p>The camera device supports the MOTION_<wbr/>TRACKING value for
+<a href="#controls_android.control.captureIntent">android.<wbr/>control.<wbr/>capture<wbr/>Intent</a>,<wbr/> which limits maximum exposure time to 20 ms.<wbr/></p>
+<p>This limits the motion blur of capture images,<wbr/> resulting in better image tracking
+results for use cases such as image stabilization or augmented reality.<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">LOGICAL_MULTI_CAMERA (v3.3)</span>
+                    <span class="entry_type_enum_optional">[optional]</span>
+                    <span class="entry_type_enum_notes"><p>The camera device is a logical camera backed by two or more physical cameras that are
+also exposed to the application.<wbr/></p>
+<p>This capability requires the camera device to support the following:</p>
+<ul>
+<li>This camera device must list the following static metadata entries in <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html">CameraCharacteristics</a>:<ul>
+<li><a href="#static_android.logicalMultiCamera.physicalIds">android.<wbr/>logical<wbr/>Multi<wbr/>Camera.<wbr/>physical<wbr/>Ids</a></li>
+<li><a href="#static_android.logicalMultiCamera.sensorSyncType">android.<wbr/>logical<wbr/>Multi<wbr/>Camera.<wbr/>sensor<wbr/>Sync<wbr/>Type</a></li>
+</ul>
+</li>
+<li>The underlying physical cameras' static metadata must list the following entries,<wbr/>
+  so that the application can correlate pixels from the physical streams:<ul>
+<li><a href="#static_android.lens.poseReference">android.<wbr/>lens.<wbr/>pose<wbr/>Reference</a></li>
+<li><a href="#static_android.lens.poseRotation">android.<wbr/>lens.<wbr/>pose<wbr/>Rotation</a></li>
+<li><a href="#static_android.lens.poseTranslation">android.<wbr/>lens.<wbr/>pose<wbr/>Translation</a></li>
+<li><a href="#static_android.lens.intrinsicCalibration">android.<wbr/>lens.<wbr/>intrinsic<wbr/>Calibration</a></li>
+<li><a href="#static_android.lens.radialDistortion">android.<wbr/>lens.<wbr/>radial<wbr/>Distortion</a></li>
+</ul>
+</li>
+<li>The SENSOR_<wbr/>INFO_<wbr/>TIMESTAMP_<wbr/>SOURCE of the logical device and physical devices must be
+  the same.<wbr/></li>
+<li>The logical camera device must be LIMITED or higher device.<wbr/></li>
+</ul>
+<p>Both the logical camera device and its underlying physical devices support the
+mandatory stream combinations required for their device levels.<wbr/></p>
+<p>Additionally,<wbr/> for each guaranteed stream combination,<wbr/> the logical camera supports:</p>
+<ul>
+<li>For each guaranteed stream combination,<wbr/> the logical camera supports replacing one
+  logical <a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">YUV_<wbr/>420_<wbr/>888</a>
+  or raw stream with two physical streams of the same size and format,<wbr/> each from a
+  separate physical camera,<wbr/> given that the size and format are supported by both
+  physical cameras.<wbr/></li>
+<li>If the logical camera doesn't advertise RAW capability,<wbr/> but the underlying physical
+  cameras do,<wbr/> the logical camera will support guaranteed stream combinations for RAW
+  capability,<wbr/> except that the RAW streams will be physical streams,<wbr/> each from a separate
+  physical camera.<wbr/> This is usually the case when the physical cameras have different
+  sensor sizes.<wbr/></li>
+</ul>
+<p>Using physical streams in place of a logical stream of the same size and format will
+not slow down the frame rate of the capture,<wbr/> as long as the minimum frame duration
+of the physical and logical streams are the same.<wbr/></p></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -16737,6 +16999,9 @@ addition to the other keys explicitly mentioned in the DEPTH_<wbr/>OUTPUT
 enum notes.<wbr/> The entry <a href="#static_android.depth.maxDepthSamples">android.<wbr/>depth.<wbr/>max<wbr/>Depth<wbr/>Samples</a> must be available
 if the DEPTH_<wbr/>POINT_<wbr/>CLOUD format is supported (HAL pixel format BLOB,<wbr/> dataspace
 DEPTH).<wbr/></p>
+<p>For a camera device with LOGICAL_<wbr/>MULTI_<wbr/>CAMERA capability,<wbr/> it should operate in the
+same way as a physical camera device based on its hardware level and capabilities.<wbr/>
+It's recommended that its feature set is superset of that of individual physical cameras.<wbr/></p>
             </td>
           </tr>
 
@@ -16979,71 +17244,42 @@ via <a href="https://developer.android.com/reference/android/hardware/camera2/Ca
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
-        
-
-      <!-- end of kind -->
-      </tbody>
-      <tr><td colspan="7" class="kind">dynamic</td></tr>
-
-      <thead class="entries_header">
-        <tr>
-          <th class="th_name">Property Name</th>
-          <th class="th_type">Type</th>
-          <th class="th_description">Description</th>
-          <th class="th_units">Units</th>
-          <th class="th_range">Range</th>
-          <th class="th_hal_version">Initial HIDL HAL version</th>
-          <th class="th_tags">Tags</th>
-        </tr>
-      </thead>
-
-      <tbody>
-
-        
-
-        
-
-        
-
-        
-
                 
-          <tr class="entry" id="dynamic_android.request.frameCount">
+          <tr class="entry" id="static_android.request.availableSessionKeys">
             <td class="entry_name
-                entry_name_deprecated
-             " rowspan="3">
-              android.<wbr/>request.<wbr/>frame<wbr/>Count
+             " rowspan="5">
+              android.<wbr/>request.<wbr/>available<wbr/>Session<wbr/>Keys
             </td>
             <td class="entry_type">
                 <span class="entry_type_name">int32</span>
+                <span class="entry_type_container">x</span>
 
-              <span class="entry_type_visibility"> [hidden]</span>
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [ndk_public]</span>
 
 
+              <span class="entry_type_hwlevel">[legacy] </span>
 
-              <span class="entry_type_deprecated">[deprecated] </span>
 
 
 
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>A frame counter set by the framework.<wbr/> This value monotonically
-increases with every new result (that is,<wbr/> each new result has a unique
-frameCount value).<wbr/></p>
+              <p>A subset of the available request keys that the camera device
+can pass as part of the capture session initialization.<wbr/></p>
             </td>
 
             <td class="entry_units">
-              count of frames
             </td>
 
             <td class="entry_range">
-              <p><span class="entry_range_deprecated">Deprecated</span>. Do not use.</p>
-              <p>&gt; 0</p>
             </td>
 
             <td class="entry_hal_version">
-              <p>3.<wbr/>2</p>
+              <p>3.<wbr/>3</p>
             </td>
 
             <td class="entry_tags">
@@ -17055,26 +17291,84 @@ frameCount value).<wbr/></p>
           </tr>
           <tr class="entry_cont">
             <td class="entry_details" colspan="6">
-              <p>Reset on release()</p>
+              <p>This is a subset of <a href="#static_android.request.availableRequestKeys">android.<wbr/>request.<wbr/>available<wbr/>Request<wbr/>Keys</a> which
+contains a list of keys that are difficult to apply per-frame and
+can result in unexpected delays when modified during the capture session
+lifetime.<wbr/> Typical examples include parameters that require a
+time-consuming hardware re-configuration or internal camera pipeline
+change.<wbr/> For performance reasons we advise clients to pass their initial
+values as part of
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>.<wbr/>
+Once the camera capture session is enabled it is also recommended to avoid
+changing them from their initial values set in
+<a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>.<wbr/>
+Control over session parameters can still be exerted in capture requests
+but clients should be aware and expect delays during their application.<wbr/>
+An example usage scenario could look like this:</p>
+<ul>
+<li>The camera client starts by quering the session parameter key list via
+  <a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#getAvailableSessionKeys">CameraCharacteristics#getAvailableSessionKeys</a>.<wbr/></li>
+<li>Before triggering the capture session create sequence,<wbr/> a capture request
+  must be built via
+  <a href="https://developer.android.com/reference/CameraDevice.html#createCaptureRequest">CameraDevice#createCaptureRequest</a>
+  using an appropriate template matching the particular use case.<wbr/></li>
+<li>The client should go over the list of session parameters and check
+  whether some of the keys listed matches with the parameters that
+  they intend to modify as part of the first capture request.<wbr/></li>
+<li>If there is no such match,<wbr/> the capture request can be  passed
+  unmodified to
+  <a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>.<wbr/></li>
+<li>If matches do exist,<wbr/> the client should update the respective values
+  and pass the request to
+  <a href="https://developer.android.com/reference/SessionConfiguration.html#setSessionParameters">SessionConfiguration#setSessionParameters</a>.<wbr/></li>
+<li>After the capture session initialization completes the session parameter
+  key list can continue to serve as reference when posting or updating
+  further requests.<wbr/> As mentioned above further changes to session
+  parameters should ideally be avoided,<wbr/> if updates are necessary
+  however clients could expect a delay/<wbr/>glitch during the
+  parameter switch.<wbr/></li>
+</ul>
             </td>
           </tr>
 
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">HAL Implementation Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>Vendor tags can be listed here.<wbr/> Vendor tag metadata should also
+use the extensions C api (refer to
+android.<wbr/>hardware.<wbr/>camera.<wbr/>device.<wbr/>V3_<wbr/>4.<wbr/>Stream<wbr/>Configuration.<wbr/>session<wbr/>Params for more details).<wbr/></p>
+<p>Setting/<wbr/>getting vendor tags will be checked against the metadata
+vendor extensions API and not against this field.<wbr/></p>
+<p>The HAL must not consume any request tags in the session parameters that
+are not listed either here or in the vendor tag list.<wbr/></p>
+<p>The public camera2 API will always make the vendor tags visible
+via
+<a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#getAvailableSessionKeys">CameraCharacteristics#getAvailableSessionKeys</a>.<wbr/></p>
+            </td>
+          </tr>
 
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
                 
-          <tr class="entry" id="dynamic_android.request.id">
+          <tr class="entry" id="static_android.request.availablePhysicalCameraRequestKeys">
             <td class="entry_name
-             " rowspan="1">
-              android.<wbr/>request.<wbr/>id
+             " rowspan="5">
+              android.<wbr/>request.<wbr/>available<wbr/>Physical<wbr/>Camera<wbr/>Request<wbr/>Keys
             </td>
             <td class="entry_type">
                 <span class="entry_type_name">int32</span>
+                <span class="entry_type_container">x</span>
 
+                <span class="entry_type_array">
+                  n
+                </span>
               <span class="entry_type_visibility"> [hidden]</span>
 
 
+              <span class="entry_type_hwlevel">[limited] </span>
 
 
 
@@ -17082,39 +17376,199 @@ frameCount value).<wbr/></p>
             </td> <!-- entry_type -->
 
             <td class="entry_description">
-              <p>An application-specified ID for the current
-request.<wbr/> Must be maintained unchanged in output
-frame</p>
+              <p>A subset of the available request keys that can be overriden for
+physical devices backing a logical multi-camera.<wbr/></p>
             </td>
 
             <td class="entry_units">
-              arbitrary integer assigned by application
             </td>
 
             <td class="entry_range">
-              <p>Any int</p>
             </td>
 
             <td class="entry_hal_version">
-              <p>3.<wbr/>2</p>
+              <p>3.<wbr/>3</p>
             </td>
 
             <td class="entry_tags">
-              <ul class="entry_tags">
-                  <li><a href="#tag_V1">V1</a></li>
-              </ul>
             </td>
 
           </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>This is a subset of <a href="#static_android.request.availableRequestKeys">android.<wbr/>request.<wbr/>available<wbr/>Request<wbr/>Keys</a> which contains a list
+of keys that can be overriden using <a href="https://developer.android.com/reference/CaptureRequest/Builder.html#setPhysicalCameraKey">Builder#setPhysicalCameraKey</a>.<wbr/>
+The respective value of such request key can be obtained by calling
+<a href="https://developer.android.com/reference/CaptureRequest/Builder.html#getPhysicalCameraKey">Builder#getPhysicalCameraKey</a>.<wbr/> Capture requests that contain
+individual physical device requests must be built via
+<a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureRequest(int,">Set)</a>.<wbr/></p>
+            </td>
+          </tr>
 
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">HAL Implementation Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>Vendor tags can be listed here.<wbr/> Vendor tag metadata should also
+use the extensions C api (refer to
+android.<wbr/>hardware.<wbr/>camera.<wbr/>device.<wbr/>V3_<wbr/>4.<wbr/>Capture<wbr/>Request.<wbr/>physical<wbr/>Camera<wbr/>Settings for more
+details).<wbr/></p>
+<p>Setting/<wbr/>getting vendor tags will be checked against the metadata
+vendor extensions API and not against this field.<wbr/></p>
+<p>The HAL must not consume any request tags in the session parameters that
+are not listed either here or in the vendor tag list.<wbr/></p>
+<p>There should be no overlap between this set of keys and the available session keys
+<a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#getAvailableSessionKeys">CameraCharacteristics#getAvailableSessionKeys</a> along
+with any other controls that can have impact on the dual-camera sync.<wbr/></p>
+<p>The public camera2 API will always make the vendor tags visible
+via
+<a href="https://developer.android.com/reference/android/hardware/camera2/CameraCharacteristics.html#getAvailablePhysicalCameraRequestKeys">CameraCharacteristics#getAvailablePhysicalCameraRequestKeys</a>.<wbr/></p>
+            </td>
+          </tr>
 
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
-                
-          <tr class="entry" id="dynamic_android.request.metadataMode">
-            <td class="entry_name
-             " rowspan="1">
+        
+
+      <!-- end of kind -->
+      </tbody>
+      <tr><td colspan="7" class="kind">dynamic</td></tr>
+
+      <thead class="entries_header">
+        <tr>
+          <th class="th_name">Property Name</th>
+          <th class="th_type">Type</th>
+          <th class="th_description">Description</th>
+          <th class="th_units">Units</th>
+          <th class="th_range">Range</th>
+          <th class="th_hal_version">Initial HIDL HAL version</th>
+          <th class="th_tags">Tags</th>
+        </tr>
+      </thead>
+
+      <tbody>
+
+        
+
+        
+
+        
+
+        
+
+                
+          <tr class="entry" id="dynamic_android.request.frameCount">
+            <td class="entry_name
+                entry_name_deprecated
+             " rowspan="3">
+              android.<wbr/>request.<wbr/>frame<wbr/>Count
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">int32</span>
+
+              <span class="entry_type_visibility"> [hidden]</span>
+
+
+
+              <span class="entry_type_deprecated">[deprecated] </span>
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>A frame counter set by the framework.<wbr/> This value monotonically
+increases with every new result (that is,<wbr/> each new result has a unique
+frameCount value).<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+              count of frames
+            </td>
+
+            <td class="entry_range">
+              <p><span class="entry_range_deprecated">Deprecated</span>. Do not use.</p>
+              <p>&gt; 0</p>
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>2</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>Reset on release()</p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.request.id">
+            <td class="entry_name
+             " rowspan="1">
+              android.<wbr/>request.<wbr/>id
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">int32</span>
+
+              <span class="entry_type_visibility"> [hidden]</span>
+
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>An application-specified ID for the current
+request.<wbr/> Must be maintained unchanged in output
+frame</p>
+            </td>
+
+            <td class="entry_units">
+              arbitrary integer assigned by application
+            </td>
+
+            <td class="entry_range">
+              <p>Any int</p>
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>2</p>
+            </td>
+
+            <td class="entry_tags">
+              <ul class="entry_tags">
+                  <li><a href="#tag_V1">V1</a></li>
+              </ul>
+            </td>
+
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.request.metadataMode">
+            <td class="entry_name
+             " rowspan="1">
               android.<wbr/>request.<wbr/>metadata<wbr/>Mode
             </td>
             <td class="entry_type">
@@ -17128,7 +17582,7 @@ frame</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">NONE</span>
+                    <span class="entry_type_enum_name">NONE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No metadata should be produced on output,<wbr/> except
 for application-bound buffer data.<wbr/> If no
 application-bound streams exist,<wbr/> no frame should be
@@ -17139,7 +17593,7 @@ information.<wbr/> Timestamp information should still be
 included with any output stream buffers</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FULL</span>
+                    <span class="entry_type_enum_name">FULL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All metadata should be produced.<wbr/> Statistics will
 only be produced if they are separately
 enabled</p></span>
@@ -17525,7 +17979,7 @@ hardware limitations.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">RAW16</span>
+                    <span class="entry_type_enum_name">RAW16 (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_value">0x20</span>
                     <span class="entry_type_enum_notes"><p>RAW16 is a standard,<wbr/> cross-platform format for raw image
@@ -17553,7 +18007,7 @@ only supported output size).<wbr/></p>
 the full set of performance guarantees.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">RAW_OPAQUE</span>
+                    <span class="entry_type_enum_name">RAW_OPAQUE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_value">0x24</span>
                     <span class="entry_type_enum_notes"><p>RAW_<wbr/>OPAQUE (or
@@ -17578,29 +18032,29 @@ any additional conversions or decrease in framerate.<wbr/></p>
 performance guarantees.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">YV12</span>
+                    <span class="entry_type_enum_name">YV12 (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_value">0x32315659</span>
                     <span class="entry_type_enum_notes"><p>YCrCb 4:2:0 Planar</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">YCrCb_420_SP</span>
+                    <span class="entry_type_enum_name">YCrCb_420_SP (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_value">0x11</span>
                     <span class="entry_type_enum_notes"><p>NV21</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
+                    <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED (v3.2)</span>
                     <span class="entry_type_enum_value">0x22</span>
                     <span class="entry_type_enum_notes"><p>System internal format,<wbr/> not application-accessible</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">YCbCr_420_888</span>
+                    <span class="entry_type_enum_name">YCbCr_420_888 (v3.2)</span>
                     <span class="entry_type_enum_value">0x23</span>
                     <span class="entry_type_enum_notes"><p>Flexible YUV420 Format</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BLOB</span>
+                    <span class="entry_type_enum_name">BLOB (v3.2)</span>
                     <span class="entry_type_enum_value">0x21</span>
                     <span class="entry_type_enum_notes"><p>JPEG format</p></span>
                   </li>
@@ -18298,10 +18752,10 @@ additional formats if it so chooses.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OUTPUT</span>
+                    <span class="entry_type_enum_name">OUTPUT (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">INPUT</span>
+                    <span class="entry_type_enum_name">INPUT (v3.2)</span>
                   </li>
                 </ul>
 
@@ -18861,11 +19315,11 @@ YUV_<wbr/>420_<wbr/>888 must also be available for IMPLEMENTATION_<wbr/>DEFINED.
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CENTER_ONLY</span>
+                    <span class="entry_type_enum_name">CENTER_ONLY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device only supports centered crop regions.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FREEFORM</span>
+                    <span class="entry_type_enum_name">FREEFORM (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device supports arbitrarily chosen crop regions.<wbr/></p></span>
                   </li>
                 </ul>
@@ -19450,13 +19904,13 @@ output.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No test pattern mode is used,<wbr/> and the camera
 device returns captures from the image sensor.<wbr/></p>
 <p>This is the default if the key is not set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SOLID_COLOR</span>
+                    <span class="entry_type_enum_name">SOLID_COLOR (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
 respective color channel provided in
 <a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
@@ -19470,7 +19924,7 @@ respective color channel provided in
 are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">COLOR_BARS</span>
+                    <span class="entry_type_enum_name">COLOR_BARS (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
 <p>The vertical bars (left-to-right) are as follows:</p>
 <ul>
@@ -19505,7 +19959,7 @@ pixel array height.<wbr/></p>
 0% intensity or 100% intensity.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
+                    <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
 each bar should start at its specified color at the top,<wbr/>
 and fade to gray at the bottom.<wbr/></p>
@@ -19521,7 +19975,7 @@ When this is not the case,<wbr/> the pattern should repeat at the bottom
 of the image.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PN9</span>
+                    <span class="entry_type_enum_name">PN9 (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
 generated from a PN9 512-bit sequence (typically implemented
 in hardware with a linear feedback shift register).<wbr/></p>
@@ -19530,7 +19984,7 @@ and thus each subsequent raw frame with this test pattern should
 be exactly the same as the last.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CUSTOM1</span>
+                    <span class="entry_type_enum_name">CUSTOM1 (v3.2)</span>
                     <span class="entry_type_enum_value">256</span>
                     <span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
 available only on this camera device are at least this numeric
@@ -19785,19 +20239,19 @@ as defined in ISO 12232:2006.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">RGGB</span>
+                    <span class="entry_type_enum_name">RGGB (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">GRBG</span>
+                    <span class="entry_type_enum_name">GRBG (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">GBRG</span>
+                    <span class="entry_type_enum_name">GBRG (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">BGGR</span>
+                    <span class="entry_type_enum_name">BGGR (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">RGB</span>
+                    <span class="entry_type_enum_name">RGB (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Sensor is not Bayer; output has 3 16-bit
 values for each pixel,<wbr/> instead of just 1 16-bit value
 per pixel.<wbr/></p></span>
@@ -20215,7 +20669,7 @@ than maximum raw value supported,<wbr/> i.<wbr/>e.<wbr/> 2^(sensor bits per pixe
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">UNKNOWN</span>
+                    <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Timestamps from <a href="#dynamic_android.sensor.timestamp">android.<wbr/>sensor.<wbr/>timestamp</a> are in nanoseconds and monotonic,<wbr/>
 but can not be compared to timestamps from other subsystems
 (e.<wbr/>g.<wbr/> accelerometer,<wbr/> gyro etc.<wbr/>),<wbr/> or other instances of the same or different
@@ -20224,7 +20678,7 @@ a single camera instance are comparable,<wbr/> and the timestamps for all buffer
 and the result metadata generated by a single capture are identical.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">REALTIME</span>
+                    <span class="entry_type_enum_name">REALTIME (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Timestamps from <a href="#dynamic_android.sensor.timestamp">android.<wbr/>sensor.<wbr/>timestamp</a> are in the same timebase as
 <a href="https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtimeNanos">SystemClock#elapsedRealtimeNanos</a>,<wbr/>
 and they can be compared to other timestamps using that base.<wbr/></p></span>
@@ -20302,10 +20756,10 @@ tests the alignment between camera timestamps and gyro sensor timestamps.<wbr/><
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                   </li>
                 </ul>
 
@@ -20490,84 +20944,84 @@ the same as the post-correction active array region given in
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">DAYLIGHT</span>
+                    <span class="entry_type_enum_name">DAYLIGHT (v3.2)</span>
                     <span class="entry_type_enum_value">1</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FLUORESCENT</span>
+                    <span class="entry_type_enum_name">FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_value">2</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TUNGSTEN</span>
+                    <span class="entry_type_enum_name">TUNGSTEN (v3.2)</span>
                     <span class="entry_type_enum_value">3</span>
                     <span class="entry_type_enum_notes"><p>Incandescent light</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FLASH</span>
+                    <span class="entry_type_enum_name">FLASH (v3.2)</span>
                     <span class="entry_type_enum_value">4</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FINE_WEATHER</span>
+                    <span class="entry_type_enum_name">FINE_WEATHER (v3.2)</span>
                     <span class="entry_type_enum_value">9</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
+                    <span class="entry_type_enum_name">CLOUDY_WEATHER (v3.2)</span>
                     <span class="entry_type_enum_value">10</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SHADE</span>
+                    <span class="entry_type_enum_name">SHADE (v3.2)</span>
                     <span class="entry_type_enum_value">11</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_value">12</span>
                     <span class="entry_type_enum_notes"><p>D 5700 - 7100K</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_value">13</span>
                     <span class="entry_type_enum_notes"><p>N 4600 - 5400K</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_value">14</span>
                     <span class="entry_type_enum_notes"><p>W 3900 - 4500K</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
+                    <span class="entry_type_enum_name">WHITE_FLUORESCENT (v3.2)</span>
                     <span class="entry_type_enum_value">15</span>
                     <span class="entry_type_enum_notes"><p>WW 3200 - 3700K</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STANDARD_A</span>
+                    <span class="entry_type_enum_name">STANDARD_A (v3.2)</span>
                     <span class="entry_type_enum_value">17</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STANDARD_B</span>
+                    <span class="entry_type_enum_name">STANDARD_B (v3.2)</span>
                     <span class="entry_type_enum_value">18</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">STANDARD_C</span>
+                    <span class="entry_type_enum_name">STANDARD_C (v3.2)</span>
                     <span class="entry_type_enum_value">19</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">D55</span>
+                    <span class="entry_type_enum_name">D55 (v3.2)</span>
                     <span class="entry_type_enum_value">20</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">D65</span>
+                    <span class="entry_type_enum_name">D65 (v3.2)</span>
                     <span class="entry_type_enum_value">21</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">D75</span>
+                    <span class="entry_type_enum_name">D75 (v3.2)</span>
                     <span class="entry_type_enum_value">22</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">D50</span>
+                    <span class="entry_type_enum_name">D50 (v3.2)</span>
                     <span class="entry_type_enum_value">23</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
+                    <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN (v3.2)</span>
                     <span class="entry_type_enum_value">24</span>
                   </li>
                 </ul>
@@ -22520,13 +22974,13 @@ output.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No test pattern mode is used,<wbr/> and the camera
 device returns captures from the image sensor.<wbr/></p>
 <p>This is the default if the key is not set.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SOLID_COLOR</span>
+                    <span class="entry_type_enum_name">SOLID_COLOR (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Each pixel in <code>[R,<wbr/> G_<wbr/>even,<wbr/> G_<wbr/>odd,<wbr/> B]</code> is replaced by its
 respective color channel provided in
 <a href="#controls_android.sensor.testPatternData">android.<wbr/>sensor.<wbr/>test<wbr/>Pattern<wbr/>Data</a>.<wbr/></p>
@@ -22540,7 +22994,7 @@ respective color channel provided in
 are 100% green.<wbr/> All blue pixels are 100% black.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">COLOR_BARS</span>
+                    <span class="entry_type_enum_name">COLOR_BARS (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All pixel data is replaced with an 8-bar color pattern.<wbr/></p>
 <p>The vertical bars (left-to-right) are as follows:</p>
 <ul>
@@ -22575,7 +23029,7 @@ pixel array height.<wbr/></p>
 0% intensity or 100% intensity.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY</span>
+                    <span class="entry_type_enum_name">COLOR_BARS_FADE_TO_GRAY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The test pattern is similar to COLOR_<wbr/>BARS,<wbr/> except that
 each bar should start at its specified color at the top,<wbr/>
 and fade to gray at the bottom.<wbr/></p>
@@ -22591,7 +23045,7 @@ When this is not the case,<wbr/> the pattern should repeat at the bottom
 of the image.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PN9</span>
+                    <span class="entry_type_enum_name">PN9 (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>All pixel data is replaced by a pseudo-random sequence
 generated from a PN9 512-bit sequence (typically implemented
 in hardware with a linear feedback shift register).<wbr/></p>
@@ -22600,7 +23054,7 @@ and thus each subsequent raw frame with this test pattern should
 be exactly the same as the last.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">CUSTOM1</span>
+                    <span class="entry_type_enum_name">CUSTOM1 (v3.2)</span>
                     <span class="entry_type_enum_value">256</span>
                     <span class="entry_type_enum_notes"><p>The first custom test pattern.<wbr/> All custom patterns that are
 available only on this camera device are at least this numeric
@@ -22946,16 +23400,16 @@ than maximum raw value supported,<wbr/> i.<wbr/>e.<wbr/> 2^(sensor bits per pixe
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No lens shading correction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply lens shading corrections,<wbr/> without slowing
 frame rate relative to sensor raw output</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply high-quality lens shading correction,<wbr/> at the
 cost of possibly reduced frame rate.<wbr/></p></span>
                   </li>
@@ -23111,16 +23565,16 @@ applied to the images</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>No lens shading correction is applied.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply lens shading corrections,<wbr/> without slowing
 frame rate relative to sensor raw output</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Apply high-quality lens shading correction,<wbr/> at the
 cost of possibly reduced frame rate.<wbr/></p></span>
                   </li>
@@ -23332,17 +23786,17 @@ slow down capture rate,<wbr/> then FAST and HIGH_<wbr/>QUALITY will generate the
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not include face detection statistics in capture
 results.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SIMPLE</span>
+                    <span class="entry_type_enum_name">SIMPLE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Return face rectangle and confidence values only.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FULL</span>
+                    <span class="entry_type_enum_name">FULL (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Return all face
 metadata.<wbr/></p>
@@ -23418,10 +23872,10 @@ FULL mode must also fill in <a href="#dynamic_android.statistics.faceIds">androi
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -23471,10 +23925,10 @@ generation</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -23524,11 +23978,11 @@ generation</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel map production is disabled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel map production is enabled.<wbr/></p></span>
                   </li>
                 </ul>
@@ -23590,11 +24044,11 @@ If set to <code>false</code>,<wbr/> no hot pixel map will be returned.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not include a lens shading map in the capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Include a lens shading map in the capture result.<wbr/></p></span>
                   </li>
                 </ul>
@@ -23640,6 +24094,59 @@ the output result metadata.<wbr/></p>
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
+                
+          <tr class="entry" id="controls_android.statistics.oisDataMode">
+            <td class="entry_name
+             " rowspan="1">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>Data<wbr/>Mode
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
+
+              <span class="entry_type_visibility"> [public]</span>
+
+
+
+
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">OFF (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Do not include OIS data in the capture result.<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Include OIS data in the capture result.<wbr/></p></span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>A control for selecting whether OIS position information is included in output
+result metadata.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+              <p>android.<wbr/>Statistics.<wbr/>info.<wbr/>available<wbr/>Ois<wbr/>Data<wbr/>Modes</p>
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
         
 
       <!-- end of kind -->
@@ -24084,6 +24591,63 @@ LEGACY mode devices will always only support OFF.<wbr/></p>
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
+                
+          <tr class="entry" id="static_android.statistics.info.availableOisDataModes">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>statistics.<wbr/>info.<wbr/>available<wbr/>Ois<wbr/>Data<wbr/>Modes
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">byte</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [public as enumList]</span>
+
+
+
+
+                <div class="entry_type_notes">list of enums</div>
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>List of OIS data output modes for <a href="#controls_android.statistics.oisDataMode">android.<wbr/>statistics.<wbr/>ois<wbr/>Data<wbr/>Mode</a> that
+are supported by this camera device.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+              <p>Any value listed in <a href="#controls_android.statistics.oisDataMode">android.<wbr/>statistics.<wbr/>ois<wbr/>Data<wbr/>Mode</a></p>
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>If no OIS data output is available for this camera device,<wbr/> this key will
+contain only OFF.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
         
         
 
@@ -24133,17 +24697,17 @@ LEGACY mode devices will always only support OFF.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not include face detection statistics in capture
 results.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">SIMPLE</span>
+                    <span class="entry_type_enum_name">SIMPLE (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Return face rectangle and confidence values only.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FULL</span>
+                    <span class="entry_type_enum_name">FULL (v3.2)</span>
                     <span class="entry_type_enum_optional">[optional]</span>
                     <span class="entry_type_enum_notes"><p>Return all face
 metadata.<wbr/></p>
@@ -24586,10 +25150,10 @@ supported,<wbr/> all channels should have the same data</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -24698,10 +25262,10 @@ all channels should have the same data</p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -25119,17 +25683,17 @@ regardless of the android.<wbr/>control.<wbr/>* current values.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">NONE</span>
+                    <span class="entry_type_enum_name">NONE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device does not detect any flickering illumination
 in the current scene.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">50HZ</span>
+                    <span class="entry_type_enum_name">50HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device detects illumination flickering at 50Hz
 in the current scene.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">60HZ</span>
+                    <span class="entry_type_enum_name">60HZ (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>The camera device detects illumination flickering at 60Hz
 in the current scene.<wbr/></p></span>
                   </li>
@@ -25198,11 +25762,11 @@ into this metadata field.<wbr/> See
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel map production is disabled.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Hot pixel map production is enabled.<wbr/></p></span>
                   </li>
                 </ul>
@@ -25344,11 +25908,11 @@ pixels than actual pixels on the camera sensor.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Do not include a lens shading map in the capture result.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Include a lens shading map in the capture result.<wbr/></p></span>
                   </li>
                 </ul>
@@ -25394,30 +25958,317 @@ the output result metadata.<wbr/></p>
           <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
            <!-- end of entry -->
         
-        
-
-      <!-- end of kind -->
-      </tbody>
+                
+          <tr class="entry" id="dynamic_android.statistics.oisDataMode">
+            <td class="entry_name
+             " rowspan="1">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>Data<wbr/>Mode
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
 
-  <!-- end of section -->
-  <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
+              <span class="entry_type_visibility"> [public]</span>
 
 
-      <tr><td colspan="7" class="kind">controls</td></tr>
 
-      <thead class="entries_header">
-        <tr>
-          <th class="th_name">Property Name</th>
-          <th class="th_type">Type</th>
-          <th class="th_description">Description</th>
-          <th class="th_units">Units</th>
-          <th class="th_range">Range</th>
-          <th class="th_hal_version">Initial HIDL HAL version</th>
-          <th class="th_tags">Tags</th>
-        </tr>
-      </thead>
 
-      <tbody>
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">OFF (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Do not include OIS data in the capture result.<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">ON (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>Include OIS data in the capture result.<wbr/></p></span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>A control for selecting whether OIS position information is included in output
+result metadata.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+              <p>android.<wbr/>Statistics.<wbr/>info.<wbr/>available<wbr/>Ois<wbr/>Data<wbr/>Modes</p>
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.statistics.oisTimestamps">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>Timestamps
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">int64</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [ndk_public]</span>
+
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>An array of timestamps of OIS samples,<wbr/> in nanoseconds.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+              nanoseconds
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>The array contains the timestamps of OIS samples.<wbr/> The timestamps are in the same
+timebase as and comparable to <a href="#dynamic_android.sensor.timestamp">android.<wbr/>sensor.<wbr/>timestamp</a>.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.statistics.oisXShifts">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>XShifts
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">float</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [ndk_public]</span>
+
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>An array of shifts of OIS samples,<wbr/> in x direction.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+              Pixels in active array.<wbr/>
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>The array contains the amount of shifts in x direction,<wbr/> in pixels,<wbr/> based on OIS samples.<wbr/>
+A positive value is a shift from left to right in active array coordinate system.<wbr/> For
+example,<wbr/> if the optical center is (1000,<wbr/> 500) in active array coordinates,<wbr/> a shift of
+(3,<wbr/> 0) puts the new optical center at (1003,<wbr/> 500).<wbr/></p>
+<p>The number of shifts must match the number of timestamps in
+<a href="#dynamic_android.statistics.oisTimestamps">android.<wbr/>statistics.<wbr/>ois<wbr/>Timestamps</a>.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.statistics.oisYShifts">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>YShifts
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">float</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [ndk_public]</span>
+
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>An array of shifts of OIS samples,<wbr/> in y direction.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+              Pixels in active array.<wbr/>
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>The array contains the amount of shifts in y direction,<wbr/> in pixels,<wbr/> based on OIS samples.<wbr/>
+A positive value is a shift from top to bottom in active array coordinate system.<wbr/> For
+example,<wbr/> if the optical center is (1000,<wbr/> 500) in active array coordinates,<wbr/> a shift of
+(0,<wbr/> 5) puts the new optical center at (1000,<wbr/> 505).<wbr/></p>
+<p>The number of shifts must match the number of timestamps in
+<a href="#dynamic_android.statistics.oisTimestamps">android.<wbr/>statistics.<wbr/>ois<wbr/>Timestamps</a>.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="dynamic_android.statistics.oisSamples">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>statistics.<wbr/>ois<wbr/>Samples
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">float</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [java_public as oisSample]</span>
+
+              <span class="entry_type_synthetic">[synthetic] </span>
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>An array of OIS samples.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>Each OIS sample contains the timestamp and the amount of shifts in x and y direction,<wbr/>
+in pixels,<wbr/> of the OIS sample.<wbr/></p>
+<p>A positive value for a shift in x direction is a shift from left to right in active array
+coordinate system.<wbr/> For example,<wbr/> if the optical center is (1000,<wbr/> 500) in active array
+coordinates,<wbr/> a shift of (3,<wbr/> 0) puts the new optical center at (1003,<wbr/> 500).<wbr/></p>
+<p>A positive value for a shift in y direction is a shift from top to bottom in active array
+coordinate system.<wbr/> For example,<wbr/> if the optical center is (1000,<wbr/> 500) in active array
+coordinates,<wbr/> a shift of (0,<wbr/> 5) puts the new optical center at (1000,<wbr/> 505).<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+        
+
+      <!-- end of kind -->
+      </tbody>
+
+  <!-- end of section -->
+  <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
+
+
+      <tr><td colspan="7" class="kind">controls</td></tr>
+
+      <thead class="entries_header">
+        <tr>
+          <th class="th_name">Property Name</th>
+          <th class="th_type">Type</th>
+          <th class="th_description">Description</th>
+          <th class="th_units">Units</th>
+          <th class="th_range">Range</th>
+          <th class="th_hal_version">Initial HIDL HAL version</th>
+          <th class="th_tags">Tags</th>
+        </tr>
+      </thead>
+
+      <tbody>
 
         
 
@@ -25771,7 +26622,7 @@ curveBlue entries.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CONTRAST_CURVE</span>
+                    <span class="entry_type_enum_name">CONTRAST_CURVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
 the <a href="#controls_android.tonemap.curve">android.<wbr/>tonemap.<wbr/>curve</a>* entries.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -25781,17 +26632,17 @@ for applying the tonemapping curve specified by
 sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied,<wbr/> without
 reducing frame rate compared to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality gamma mapping and color enhancement will be applied,<wbr/> at
 the cost of possibly reduced frame rate compared to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">GAMMA_VALUE</span>
+                    <span class="entry_type_enum_name">GAMMA_VALUE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the gamma value specified in <a href="#controls_android.tonemap.gamma">android.<wbr/>tonemap.<wbr/>gamma</a> to peform
 tonemapping.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -25799,7 +26650,7 @@ for applying the tonemapping curve specified by <a href="#controls_android.tonem
 <p>Must not slow down frame rate relative to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PRESET_CURVE</span>
+                    <span class="entry_type_enum_name">PRESET_CURVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the preset tonemapping curve specified in
 <a href="#controls_android.tonemap.presetCurve">android.<wbr/>tonemap.<wbr/>preset<wbr/>Curve</a> to peform tonemapping.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -25936,11 +26787,11 @@ within [1.<wbr/>0,<wbr/> 5.<wbr/>0] are guaranteed not to be clipped.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">SRGB</span>
+                    <span class="entry_type_enum_name">SRGB (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Tonemapping curve is defined by sRGB</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">REC709</span>
+                    <span class="entry_type_enum_name">REC709 (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Tonemapping curve is defined by ITU-R BT.<wbr/>709</p></span>
                   </li>
                 </ul>
@@ -26523,7 +27374,7 @@ curveBlue entries.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CONTRAST_CURVE</span>
+                    <span class="entry_type_enum_name">CONTRAST_CURVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the tone mapping curve specified in
 the <a href="#controls_android.tonemap.curve">android.<wbr/>tonemap.<wbr/>curve</a>* entries.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26533,17 +27384,17 @@ for applying the tonemapping curve specified by
 sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FAST</span>
+                    <span class="entry_type_enum_name">FAST (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Advanced gamma mapping and color enhancement may be applied,<wbr/> without
 reducing frame rate compared to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
+                    <span class="entry_type_enum_name">HIGH_QUALITY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>High-quality gamma mapping and color enhancement will be applied,<wbr/> at
 the cost of possibly reduced frame rate compared to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">GAMMA_VALUE</span>
+                    <span class="entry_type_enum_name">GAMMA_VALUE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the gamma value specified in <a href="#controls_android.tonemap.gamma">android.<wbr/>tonemap.<wbr/>gamma</a> to peform
 tonemapping.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26551,7 +27402,7 @@ for applying the tonemapping curve specified by <a href="#controls_android.tonem
 <p>Must not slow down frame rate relative to raw sensor output.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">PRESET_CURVE</span>
+                    <span class="entry_type_enum_name">PRESET_CURVE (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Use the preset tonemapping curve specified in
 <a href="#controls_android.tonemap.presetCurve">android.<wbr/>tonemap.<wbr/>preset<wbr/>Curve</a> to peform tonemapping.<wbr/></p>
 <p>All color enhancement and tonemapping must be disabled,<wbr/> except
@@ -26688,11 +27539,11 @@ within [1.<wbr/>0,<wbr/> 5.<wbr/>0] are guaranteed not to be clipped.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">SRGB</span>
+                    <span class="entry_type_enum_name">SRGB (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Tonemapping curve is defined by sRGB</p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">REC709</span>
+                    <span class="entry_type_enum_name">REC709 (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>Tonemapping curve is defined by ITU-R BT.<wbr/>709</p></span>
                   </li>
                 </ul>
@@ -26787,10 +27638,10 @@ curves.<wbr/> Camera devices may apply a different approximation to the curve.<w
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -26873,10 +27724,10 @@ doesn't violate the above rules.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -26963,7 +27814,7 @@ doesn't violate the above rules.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">TRANSMIT</span>
+                    <span class="entry_type_enum_name">TRANSMIT (v3.2)</span>
                     <span class="entry_type_enum_notes"><p><a href="#controls_android.led.transmit">android.<wbr/>led.<wbr/>transmit</a> control is used.<wbr/></p></span>
                   </li>
                 </ul>
@@ -27044,7 +27895,7 @@ doesn't violate the above rules.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">LIMITED</span>
+                    <span class="entry_type_enum_name">LIMITED (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This camera device does not have enough capabilities to qualify as a <code>FULL</code> device or
 better.<wbr/></p>
 <p>Only the stream configurations listed in the <code>LEGACY</code> and <code>LIMITED</code> tables in the
@@ -27064,7 +27915,7 @@ supported for <a href="#controls_android.control.aeMode">android.<wbr/>control.<
 can be checked for in <a href="#static_android.request.availableCapabilities">android.<wbr/>request.<wbr/>available<wbr/>Capabilities</a>.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">FULL</span>
+                    <span class="entry_type_enum_name">FULL (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This camera device is capable of supporting advanced imaging applications.<wbr/></p>
 <p>The stream configurations listed in the <code>FULL</code>,<wbr/> <code>LEGACY</code> and <code>LIMITED</code> tables in the
 <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">createCaptureSession</a> documentation are guaranteed to be supported.<wbr/></p>
@@ -27085,7 +27936,7 @@ Pre-API level 23,<wbr/> FULL devices also supported arbitrary cropping region
 23,<wbr/> and <code>FULL</code> devices may only support <code>CENTERED</code> cropping.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">LEGACY</span>
+                    <span class="entry_type_enum_name">LEGACY (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This camera device is running in backward compatibility mode.<wbr/></p>
 <p>Only the stream configurations listed in the <code>LEGACY</code> table in the <a href="https://developer.android.com/reference/android/hardware/camera2/CameraDevice.html#createCaptureSession">createCaptureSession</a> documentation are supported.<wbr/></p>
 <p>A <code>LEGACY</code> device does not support per-frame control,<wbr/> manual sensor control,<wbr/> manual
@@ -27100,7 +27951,7 @@ for the final capture,<wbr/> if a flash is available on the device and the AE mo
 enable the flash.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">3</span>
+                    <span class="entry_type_enum_name">3 (v3.2)</span>
                     <span class="entry_type_enum_notes"><p>This camera device is capable of YUV reprocessing and RAW data capture,<wbr/> in addition to
 FULL-level capabilities.<wbr/></p>
 <p>The stream configurations listed in the <code>LEVEL_<wbr/>3</code>,<wbr/> <code>RAW</code>,<wbr/> <code>FULL</code>,<wbr/> <code>LEGACY</code> and
@@ -27113,6 +27964,27 @@ FULL-level capabilities.<wbr/></p>
   <code>RAW</code>)</li>
 </ul></span>
                   </li>
+                  <li>
+                    <span class="entry_type_enum_name">EXTERNAL (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>This camera device is backed by an external camera connected to this Android device.<wbr/></p>
+<p>The device has capability identical to a LIMITED level device,<wbr/> with the following
+exceptions:</p>
+<ul>
+<li>The device may not report lens/<wbr/>sensor related information such as<ul>
+<li><a href="#controls_android.lens.focalLength">android.<wbr/>lens.<wbr/>focal<wbr/>Length</a></li>
+<li><a href="#static_android.lens.info.hyperfocalDistance">android.<wbr/>lens.<wbr/>info.<wbr/>hyperfocal<wbr/>Distance</a></li>
+<li><a href="#static_android.sensor.info.physicalSize">android.<wbr/>sensor.<wbr/>info.<wbr/>physical<wbr/>Size</a></li>
+<li><a href="#static_android.sensor.info.whiteLevel">android.<wbr/>sensor.<wbr/>info.<wbr/>white<wbr/>Level</a></li>
+<li><a href="#static_android.sensor.blackLevelPattern">android.<wbr/>sensor.<wbr/>black<wbr/>Level<wbr/>Pattern</a></li>
+<li><a href="#static_android.sensor.info.colorFilterArrangement">android.<wbr/>sensor.<wbr/>info.<wbr/>color<wbr/>Filter<wbr/>Arrangement</a></li>
+<li><a href="#dynamic_android.sensor.rollingShutterSkew">android.<wbr/>sensor.<wbr/>rolling<wbr/>Shutter<wbr/>Skew</a></li>
+</ul>
+</li>
+<li>The device will report 0 for <a href="#static_android.sensor.orientation">android.<wbr/>sensor.<wbr/>orientation</a></li>
+<li>The device has less guarantee on stable framerate,<wbr/> as the framerate partly depends
+  on the external camera being used.<wbr/></li>
+</ul></span>
+                  </li>
                 </ul>
 
             </td> <!-- entry_type -->
@@ -27201,6 +28073,71 @@ superset of the previous level,<wbr/> and they share the same essential operatio
 <p>Camera HAL3+ must not implement LEGACY mode.<wbr/> It is there for backwards compatibility in
 the <code>android.<wbr/>hardware.<wbr/>camera2</code> user-facing API only on legacy HALv1 devices,<wbr/> and is
 implemented by the camera framework code.<wbr/></p>
+<p>EXTERNAL level devices have lower peformance bar in CTS since the peformance might depend
+on the external camera being used and is not fully controlled by the device manufacturer.<wbr/>
+The ITS test suite is exempted for the same reason.<wbr/></p>
+            </td>
+          </tr>
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="static_android.info.version">
+            <td class="entry_name
+             " rowspan="5">
+              android.<wbr/>info.<wbr/>version
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">byte</span>
+
+              <span class="entry_type_visibility"> [public as string]</span>
+
+
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>A short string for manufacturer version information about the camera device,<wbr/> such as
+ISP hardware,<wbr/> sensors,<wbr/> etc.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>This can be used in <a href="https://developer.android.com/reference/android/media/ExifInterface.html#TAG_IMAGE_DESCRIPTION">TAG_<wbr/>IMAGE_<wbr/>DESCRIPTION</a>
+in jpeg EXIF.<wbr/> This key may be absent if no version information is available on the
+device.<wbr/></p>
+            </td>
+          </tr>
+
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">HAL Implementation Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>The string must consist of only alphanumeric characters,<wbr/> punctuation,<wbr/> and
+whitespace,<wbr/> i.<wbr/>e.<wbr/> it must match regular expression "[\p{Alnum}\p{Punct}\p{Space}]*".<wbr/>
+It must not exceed 256 characters.<wbr/></p>
             </td>
           </tr>
 
@@ -27258,10 +28195,10 @@ implemented by the camera framework code.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -27395,10 +28332,10 @@ possible again.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OFF</span>
+                    <span class="entry_type_enum_name">OFF (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">ON</span>
+                    <span class="entry_type_enum_name">ON (v3.2)</span>
                   </li>
                 </ul>
 
@@ -27506,7 +28443,7 @@ possible again.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">CONVERGING</span>
+                    <span class="entry_type_enum_name">CONVERGING (v3.2)</span>
                     <span class="entry_type_enum_value">-1</span>
                     <span class="entry_type_enum_notes"><p>The current result is not yet fully synchronized to any request.<wbr/></p>
 <p>Synchronization is in progress,<wbr/> and reading metadata from this
@@ -27518,7 +28455,7 @@ the result is guaranteed to be synchronized to (as long as the
 request settings remain constant).<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">UNKNOWN</span>
+                    <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
                     <span class="entry_type_enum_value">-2</span>
                     <span class="entry_type_enum_notes"><p>The current result's synchronization status is unknown.<wbr/></p>
 <p>The result may have already converged,<wbr/> or it may be in
@@ -27678,7 +28615,7 @@ is also UNKNOWN.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">PER_FRAME_CONTROL</span>
+                    <span class="entry_type_enum_name">PER_FRAME_CONTROL (v3.2)</span>
                     <span class="entry_type_enum_value">0</span>
                     <span class="entry_type_enum_notes"><p>Every frame has the requests immediately applied.<wbr/></p>
 <p>Changing controls over multiple requests one after another will
@@ -27687,7 +28624,7 @@ each frame.<wbr/></p>
 <p>All FULL capability devices will have this as their maxLatency.<wbr/></p></span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">UNKNOWN</span>
+                    <span class="entry_type_enum_name">UNKNOWN (v3.2)</span>
                     <span class="entry_type_enum_value">-1</span>
                     <span class="entry_type_enum_notes"><p>Each new frame has some subset (potentially the entire set)
 of the past requests applied to the camera settings.<wbr/></p>
@@ -28221,10 +29158,10 @@ not be defined.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">OUTPUT</span>
+                    <span class="entry_type_enum_name">OUTPUT (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">INPUT</span>
+                    <span class="entry_type_enum_name">INPUT (v3.2)</span>
                   </li>
                 </ul>
 
@@ -28428,10 +29365,10 @@ duration.<wbr/></p>
 
                 <ul class="entry_type_enum">
                   <li>
-                    <span class="entry_type_enum_name">FALSE</span>
+                    <span class="entry_type_enum_name">FALSE (v3.2)</span>
                   </li>
                   <li>
-                    <span class="entry_type_enum_name">TRUE</span>
+                    <span class="entry_type_enum_name">TRUE (v3.2)</span>
                   </li>
                 </ul>
 
@@ -28483,6 +29420,176 @@ corrupted during depth measurement.<wbr/></p>
       </tbody>
 
   <!-- end of section -->
+  <tr><td colspan="7" id="section_logicalMultiCamera" class="section">logicalMultiCamera</td></tr>
+
+
+      <tr><td colspan="7" class="kind">static</td></tr>
+
+      <thead class="entries_header">
+        <tr>
+          <th class="th_name">Property Name</th>
+          <th class="th_type">Type</th>
+          <th class="th_description">Description</th>
+          <th class="th_units">Units</th>
+          <th class="th_range">Range</th>
+          <th class="th_hal_version">Initial HIDL HAL version</th>
+          <th class="th_tags">Tags</th>
+        </tr>
+      </thead>
+
+      <tbody>
+
+        
+
+        
+
+        
+
+        
+
+                
+          <tr class="entry" id="static_android.logicalMultiCamera.physicalIds">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>logical<wbr/>Multi<wbr/>Camera.<wbr/>physical<wbr/>Ids
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name">byte</span>
+                <span class="entry_type_container">x</span>
+
+                <span class="entry_type_array">
+                  n
+                </span>
+              <span class="entry_type_visibility"> [hidden]</span>
+
+
+              <span class="entry_type_hwlevel">[limited] </span>
+
+
+
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>String containing the ids of the underlying physical cameras.<wbr/></p>
+            </td>
+
+            <td class="entry_units">
+              UTF-8 null-terminated string
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+              <ul class="entry_tags">
+                  <li><a href="#tag_LOGICALCAMERA">LOGICALCAMERA</a></li>
+              </ul>
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>For a logical camera,<wbr/> this is concatenation of all underlying physical camera ids.<wbr/>
+The null terminator for physical camera id must be preserved so that the whole string
+can be tokenized using '\0' to generate list of physical camera ids.<wbr/></p>
+<p>For example,<wbr/> if the physical camera ids of the logical camera are "2" and "3",<wbr/> the
+value of this tag will be ['2',<wbr/> '\0',<wbr/> '3',<wbr/> '\0'].<wbr/></p>
+<p>The number of physical camera ids must be no less than 2.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+                
+          <tr class="entry" id="static_android.logicalMultiCamera.sensorSyncType">
+            <td class="entry_name
+             " rowspan="3">
+              android.<wbr/>logical<wbr/>Multi<wbr/>Camera.<wbr/>sensor<wbr/>Sync<wbr/>Type
+            </td>
+            <td class="entry_type">
+                <span class="entry_type_name entry_type_name_enum">byte</span>
+
+              <span class="entry_type_visibility"> [public]</span>
+
+
+              <span class="entry_type_hwlevel">[limited] </span>
+
+
+
+                <ul class="entry_type_enum">
+                  <li>
+                    <span class="entry_type_enum_name">APPROXIMATE (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>A software mechanism is used to synchronize between the physical cameras.<wbr/> As a result,<wbr/>
+the timestamp of an image from a physical stream is only an approximation of the
+image sensor start-of-exposure time.<wbr/></p></span>
+                  </li>
+                  <li>
+                    <span class="entry_type_enum_name">CALIBRATED (v3.3)</span>
+                    <span class="entry_type_enum_notes"><p>The camera device supports frame timestamp synchronization at the hardware level,<wbr/>
+and the timestamp of a physical stream image accurately reflects its
+start-of-exposure time.<wbr/></p></span>
+                  </li>
+                </ul>
+
+            </td> <!-- entry_type -->
+
+            <td class="entry_description">
+              <p>The accuracy of frame timestamp synchronization between physical cameras</p>
+            </td>
+
+            <td class="entry_units">
+            </td>
+
+            <td class="entry_range">
+            </td>
+
+            <td class="entry_hal_version">
+              <p>3.<wbr/>3</p>
+            </td>
+
+            <td class="entry_tags">
+              <ul class="entry_tags">
+                  <li><a href="#tag_LOGICALCAMERA">LOGICALCAMERA</a></li>
+              </ul>
+            </td>
+
+          </tr>
+          <tr class="entries_header">
+            <th class="th_details" colspan="6">Details</th>
+          </tr>
+          <tr class="entry_cont">
+            <td class="entry_details" colspan="6">
+              <p>The accuracy of the frame timestamp synchronization determines the physical cameras'
+ability to start exposure at the same time.<wbr/> If the sensorSyncType is CALIBRATED,<wbr/>
+the physical camera sensors usually run in master-slave mode so that their shutter
+time is synchronized.<wbr/> For APPROXIMATE sensorSyncType,<wbr/> the camera sensors usually run in
+master-master mode,<wbr/> and there could be offset between their start of exposure.<wbr/></p>
+<p>In both cases,<wbr/> all images generated for a particular capture request still carry the same
+timestamps,<wbr/> so that they can be used to look up the matching frame number and
+onCaptureStarted callback.<wbr/></p>
+            </td>
+          </tr>
+
+
+          <tr class="entry_spacer"><td class="entry_spacer" colspan="7"></td></tr>
+           <!-- end of entry -->
+        
+        
+
+      <!-- end of kind -->
+      </tbody>
+
+  <!-- end of section -->
 <!-- </namespace> -->
   </table>
 
@@ -28696,6 +29803,14 @@ corrupted during depth measurement.<wbr/></p>
           <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a> (dynamic)</li>
         </ul>
       </li> <!-- tag_REPROC -->
+      <li id="tag_LOGICALCAMERA">LOGICALCAMERA - 
+        Entry is required for logical multi-camera capability.
+    
+        <ul class="tags_entries">
+          <li><a href="#static_android.logicalMultiCamera.physicalIds">android.logicalMultiCamera.physicalIds</a> (static)</li>
+          <li><a href="#static_android.logicalMultiCamera.sensorSyncType">android.logicalMultiCamera.sensorSyncType</a> (static)</li>
+        </ul>
+      </li> <!-- tag_LOGICALCAMERA -->
       <li id="tag_FUTURE">FUTURE - 
         Entry is  under-specified and is not required for now. This is for book-keeping purpose,
         do not implement or use it, it may be revised for future.