summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-11-24 00:30:35 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-11-24 00:30:35 +0000
commitb50783d696c8659eeab3c8892f3e5c3cb9a2d694 (patch)
tree98139987df94bd2e9701abf3b839b58016977eb8
parent516aaa0955dd0ae9ab385c19561fc5df24f89534 (diff)
parentba883f907cd3fe24bef48e9e4064b95e21e2abe0 (diff)
downloadmedia-android13-d3-s1-release.tar.gz
Snap for 9325733 from ba883f907cd3fe24bef48e9e4064b95e21e2abe0 to tm-d3-releaseandroid-13.0.0_r57android13-d3-s1-release
Change-Id: I03daf04d5006c560b5cd2b982f3e22f5291b79f0
-rw-r--r--camera/docs/docs.html1124
-rw-r--r--camera/docs/metadata_definitions.xml3
-rw-r--r--camera/docs/metadata_helpers.py2
3 files changed, 590 insertions, 539 deletions
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 343b57bf..b7e42046 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -8071,18 +8071,18 @@ be good to use.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center"></td>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device auto exposure algorithm is disabled</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device auto exposure algorithm is disabled</td>
</tr>
</tbody>
</table>
@@ -8090,120 +8090,120 @@ be good to use.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device initiates AE scan</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values changing</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device initiates AE scan</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values changing</td>
</tr>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">SEARCHING</td>
-<td align="center">Camera device finishes AE scan</td>
-<td align="center">CONVERGED</td>
-<td align="center">Good values,<wbr/> not changing</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Camera device finishes AE scan</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Good values,<wbr/> not changing</td>
</tr>
<tr>
-<td align="center">SEARCHING</td>
-<td align="center">Camera device finishes AE scan</td>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Converged but too dark w/<wbr/>o flash</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Camera device finishes AE scan</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Converged but too dark w/<wbr/>o flash</td>
</tr>
<tr>
-<td align="center">SEARCHING</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">CONVERGED</td>
-<td align="center">Camera device initiates AE scan</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values changing</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Camera device initiates AE scan</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values changing</td>
</tr>
<tr>
-<td align="center">CONVERGED</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Camera device initiates AE scan</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values changing</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Camera device initiates AE scan</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values changing</td>
</tr>
<tr>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values not good after unlock</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values not good after unlock</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
-<td align="center">CONVERGED</td>
-<td align="center">Values good after unlock</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Values good after unlock</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Exposure good,<wbr/> but too dark</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;"><a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Exposure good,<wbr/> but too dark</td>
</tr>
<tr>
-<td align="center">PRECAPTURE</td>
-<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
-<td align="center">CONVERGED</td>
-<td align="center">Ready for high-quality capture</td>
+<td style="text-align: center;">PRECAPTURE</td>
+<td style="text-align: center;">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Ready for high-quality capture</td>
</tr>
<tr>
-<td align="center">PRECAPTURE</td>
-<td align="center">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Ready for high-quality capture</td>
+<td style="text-align: center;">PRECAPTURE</td>
+<td style="text-align: center;">Sequence done.<wbr/> <a href="#controls_android.control.aeLock">android.<wbr/>control.<wbr/>ae<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Ready for high-quality capture</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center">aeLock is ON and aePrecaptureTrigger is START</td>
-<td align="center">LOCKED</td>
-<td align="center">Precapture trigger is ignored when AE is already locked</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">aeLock is ON and aePrecaptureTrigger is START</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Precapture trigger is ignored when AE is already locked</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center">aeLock is ON and aePrecaptureTrigger is CANCEL</td>
-<td align="center">LOCKED</td>
-<td align="center">Precapture trigger is ignored when AE is already locked</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">aeLock is ON and aePrecaptureTrigger is CANCEL</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Precapture trigger is ignored when AE is already locked</td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
-<td align="center">PRECAPTURE</td>
-<td align="center">Start AE precapture metering sequence</td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START</td>
+<td style="text-align: center;">PRECAPTURE</td>
+<td style="text-align: center;">Start AE precapture metering sequence</td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Currently active precapture metering sequence is canceled</td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Currently active precapture metering sequence is canceled</td>
</tr>
</tbody>
</table>
@@ -8219,54 +8219,54 @@ transient states between two results.<wbr/> See below table for examples:</p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device finished AE scan</td>
-<td align="center">CONVERGED</td>
-<td align="center">Values are already good,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device finished AE scan</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Values are already good,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START,<wbr/> sequence done</td>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Converged but too dark w/<wbr/>o flash after a precapture sequence,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START,<wbr/> sequence done</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Converged but too dark w/<wbr/>o flash after a precapture sequence,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START,<wbr/> sequence done</td>
-<td align="center">CONVERGED</td>
-<td align="center">Converged after a precapture sequence,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is START,<wbr/> sequence done</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Converged after a precapture sequence,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL,<wbr/> converged</td>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Converged but too dark w/<wbr/>o flash after a precapture sequence is canceled,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL,<wbr/> converged</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Converged but too dark w/<wbr/>o flash after a precapture sequence is canceled,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">Any state (excluding LOCKED)</td>
-<td align="center"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL,<wbr/> converged</td>
-<td align="center">CONVERGED</td>
-<td align="center">Converged after a precapture sequences canceled,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">Any state (excluding LOCKED)</td>
+<td style="text-align: center;"><a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a> is CANCEL,<wbr/> converged</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Converged after a precapture sequences canceled,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">CONVERGED</td>
-<td align="center">Camera device finished AE scan</td>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Converged but too dark w/<wbr/>o flash after a new scan,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Camera device finished AE scan</td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Converged but too dark w/<wbr/>o flash after a new scan,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">FLASH_<wbr/>REQUIRED</td>
-<td align="center">Camera device finished AE scan</td>
-<td align="center">CONVERGED</td>
-<td align="center">Converged after a new scan,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">FLASH_<wbr/>REQUIRED</td>
+<td style="text-align: center;">Camera device finished AE scan</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Converged after a new scan,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
</tbody>
</table>
@@ -8805,18 +8805,18 @@ be sharp.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center"></td>
-<td align="center">INACTIVE</td>
-<td align="center">Never changes</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Never changes</td>
</tr>
</tbody>
</table>
@@ -8824,66 +8824,66 @@ be sharp.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">Start AF sweep,<wbr/> Lens now moving</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF sweep,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">AF sweep done</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Focused,<wbr/> Lens now locked</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF sweep done</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Focused,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">AF sweep done</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Not focused,<wbr/> Lens now locked</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF sweep done</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Not focused,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Cancel/<wbr/>reset AF,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Cancel/<wbr/>reset AF</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Cancel/<wbr/>reset AF</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">Start new sweep,<wbr/> Lens now moving</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start new sweep,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Cancel/<wbr/>reset AF</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Cancel/<wbr/>reset AF</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">ACTIVE_<wbr/>SCAN</td>
-<td align="center">Start new sweep,<wbr/> Lens now moving</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">ACTIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start new sweep,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">Any state</td>
-<td align="center">Mode change</td>
-<td align="center">INACTIVE</td>
-<td align="center"></td>
+<td style="text-align: center;">Any state</td>
+<td style="text-align: center;">Mode change</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"></td>
</tr>
</tbody>
</table>
@@ -8896,36 +8896,36 @@ one or more transient states between two results.<wbr/> See below table for exam
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Focus is already good or good after a scan,<wbr/> lens is now locked.<wbr/></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Focus is already good or good after a scan,<wbr/> lens is now locked.<wbr/></td>
</tr>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Focus failed after a scan,<wbr/> lens is now locked.<wbr/></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Focus failed after a scan,<wbr/> lens is now locked.<wbr/></td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Focus is already good or good after a scan,<wbr/> lens is now locked.<wbr/></td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Focus is already good or good after a scan,<wbr/> lens is now locked.<wbr/></td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Focus is good after a scan,<wbr/> lens is not locked.<wbr/></td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Focus is good after a scan,<wbr/> lens is not locked.<wbr/></td>
</tr>
</tbody>
</table>
@@ -8933,102 +8933,102 @@ one or more transient states between two results.<wbr/> See below table for exam
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF state query,<wbr/> Lens now locked</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF state query,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Camera device completes current scan</td>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">End AF scan,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Camera device completes current scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">End AF scan,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Camera device fails current scan</td>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">End AF scan,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Camera device fails current scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">End AF scan,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate transition,<wbr/> if focus is good.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate transition,<wbr/> if focus is good.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate transition,<wbr/> if focus is bad.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate transition,<wbr/> if focus is bad.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Reset lens position,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Reset lens position,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate transition,<wbr/> lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate transition,<wbr/> lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate transition,<wbr/> lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate transition,<wbr/> lens now locked</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">No effect</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">No effect</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Restart AF scan</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Restart AF scan</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">No effect</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">No effect</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Restart AF scan</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Restart AF scan</td>
</tr>
</tbody>
</table>
@@ -9036,102 +9036,102 @@ one or more transient states between two results.<wbr/> See below table for exam
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF state query,<wbr/> Lens now locked</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF state query,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Camera device completes current scan</td>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">End AF scan,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Camera device completes current scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">End AF scan,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Camera device fails current scan</td>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">End AF scan,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Camera device fails current scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">End AF scan,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Eventual transition once the focus is good.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Eventual transition once the focus is good.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Eventual transition if cannot find focus.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Eventual transition if cannot find focus.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Reset lens position,<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Reset lens position,<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">Camera device initiates new scan</td>
-<td align="center">PASSIVE_<wbr/>SCAN</td>
-<td align="center">Start AF scan,<wbr/> Lens now moving</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">Camera device initiates new scan</td>
+<td style="text-align: center;">PASSIVE_<wbr/>SCAN</td>
+<td style="text-align: center;">Start AF scan,<wbr/> Lens now moving</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>FOCUSED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate trans.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>FOCUSED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate trans.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">PASSIVE_<wbr/>UNFOCUSED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">Immediate trans.<wbr/> Lens now locked</td>
+<td style="text-align: center;">PASSIVE_<wbr/>UNFOCUSED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">Immediate trans.<wbr/> Lens now locked</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">No effect</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">No effect</td>
</tr>
<tr>
-<td align="center">FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Restart AF scan</td>
+<td style="text-align: center;">FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Restart AF scan</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>TRIGGER</td>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">No effect</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">No effect</td>
</tr>
<tr>
-<td align="center">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
-<td align="center">AF_<wbr/>CANCEL</td>
-<td align="center">INACTIVE</td>
-<td align="center">Restart AF scan</td>
+<td style="text-align: center;">NOT_<wbr/>FOCUSED_<wbr/>LOCKED</td>
+<td style="text-align: center;">AF_<wbr/>CANCEL</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Restart AF scan</td>
</tr>
</tbody>
</table>
@@ -9143,30 +9143,30 @@ See below table for examples:</p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">any state</td>
-<td align="center">CAF--&gt;AUTO mode switch</td>
-<td align="center">INACTIVE</td>
-<td align="center">Mode switch without trigger,<wbr/> initial state must be INACTIVE</td>
+<td style="text-align: center;">any state</td>
+<td style="text-align: center;">CAF--&gt;AUTO mode switch</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Mode switch without trigger,<wbr/> initial state must be INACTIVE</td>
</tr>
<tr>
-<td align="center">any state</td>
-<td align="center">CAF--&gt;AUTO mode switch with AF_<wbr/>TRIGGER</td>
-<td align="center">trigger-reachable states from INACTIVE</td>
-<td align="center">Mode switch with trigger,<wbr/> INACTIVE is skipped</td>
+<td style="text-align: center;">any state</td>
+<td style="text-align: center;">CAF--&gt;AUTO mode switch with AF_<wbr/>TRIGGER</td>
+<td style="text-align: center;">trigger-reachable states from INACTIVE</td>
+<td style="text-align: center;">Mode switch with trigger,<wbr/> INACTIVE is skipped</td>
</tr>
<tr>
-<td align="center">any state</td>
-<td align="center">AUTO--&gt;CAF mode switch</td>
-<td align="center">passively reachable states from INACTIVE</td>
-<td align="center">Mode switch without trigger,<wbr/> passive transient state is skipped</td>
+<td style="text-align: center;">any state</td>
+<td style="text-align: center;">AUTO--&gt;CAF mode switch</td>
+<td style="text-align: center;">passively reachable states from INACTIVE</td>
+<td style="text-align: center;">Mode switch without trigger,<wbr/> passive transient state is skipped</td>
</tr>
</tbody>
</table>
@@ -9844,18 +9844,18 @@ be good to use.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center"></td>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device auto white balance algorithm is disabled</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device auto white balance algorithm is disabled</td>
</tr>
</tbody>
</table>
@@ -9863,54 +9863,54 @@ be good to use.<wbr/></p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device initiates AWB scan</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values changing</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device initiates AWB scan</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values changing</td>
</tr>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">SEARCHING</td>
-<td align="center">Camera device finishes AWB scan</td>
-<td align="center">CONVERGED</td>
-<td align="center">Good values,<wbr/> not changing</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Camera device finishes AWB scan</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Good values,<wbr/> not changing</td>
</tr>
<tr>
-<td align="center">SEARCHING</td>
-<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">CONVERGED</td>
-<td align="center">Camera device initiates AWB scan</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values changing</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Camera device initiates AWB scan</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values changing</td>
</tr>
<tr>
-<td align="center">CONVERGED</td>
-<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
-<td align="center">LOCKED</td>
-<td align="center">Values locked</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is ON</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;">Values locked</td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
-<td align="center">SEARCHING</td>
-<td align="center">Values not good after unlock</td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">SEARCHING</td>
+<td style="text-align: center;">Values not good after unlock</td>
</tr>
</tbody>
</table>
@@ -9923,24 +9923,24 @@ transient states between two results.<wbr/> See below table for examples:</p>
<table>
<thead>
<tr>
-<th align="center">State</th>
-<th align="center">Transition Cause</th>
-<th align="center">New State</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">State</th>
+<th style="text-align: center;">Transition Cause</th>
+<th style="text-align: center;">New State</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">INACTIVE</td>
-<td align="center">Camera device finished AWB scan</td>
-<td align="center">CONVERGED</td>
-<td align="center">Values are already good,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">INACTIVE</td>
+<td style="text-align: center;">Camera device finished AWB scan</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Values are already good,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
<tr>
-<td align="center">LOCKED</td>
-<td align="center"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
-<td align="center">CONVERGED</td>
-<td align="center">Values good after unlock,<wbr/> transient states are skipped by camera device.<wbr/></td>
+<td style="text-align: center;">LOCKED</td>
+<td style="text-align: center;"><a href="#controls_android.control.awbLock">android.<wbr/>control.<wbr/>awb<wbr/>Lock</a> is OFF</td>
+<td style="text-align: center;">CONVERGED</td>
+<td style="text-align: center;">Values good after unlock,<wbr/> transient states are skipped by camera device.<wbr/></td>
</tr>
</tbody>
</table>
@@ -21912,31 +21912,31 @@ if its dependent capability (<a href="#static_android.request.availableCapabilit
<table>
<thead>
<tr>
-<th align="left">Input Format</th>
-<th align="left">Output Format</th>
-<th align="left">Capability</th>
+<th style="text-align: left;">Input Format</th>
+<th style="text-align: left;">Output Format</th>
+<th style="text-align: left;">Capability</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
-<td align="left">PRIVATE_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: left;">PRIVATE_<wbr/>REPROCESSING</td>
</tr>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="left">PRIVATE_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: left;">PRIVATE_<wbr/>REPROCESSING</td>
</tr>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
-<td align="left">YUV_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: left;">YUV_<wbr/>REPROCESSING</td>
</tr>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="left">YUV_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: left;">YUV_<wbr/>REPROCESSING</td>
</tr>
</tbody>
</table>
@@ -21953,26 +21953,26 @@ the following map of formats if its dependent capability
<table>
<thead>
<tr>
-<th align="left">Input Format</th>
-<th align="left">Output Format</th>
-<th align="left">Capability</th>
+<th style="text-align: left;">Input Format</th>
+<th style="text-align: left;">Output Format</th>
+<th style="text-align: left;">Capability</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
-<td align="left">PRIVATE_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
+<td style="text-align: left;">PRIVATE_<wbr/>REPROCESSING</td>
</tr>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
-<td align="left">YUV_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: left;">YUV_<wbr/>REPROCESSING</td>
</tr>
<tr>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
-<td align="left"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
-<td align="left">YUV_<wbr/>REPROCESSING</td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
+<td style="text-align: left;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#Y8">ImageFormat#Y8</a></td>
+<td style="text-align: left;">YUV_<wbr/>REPROCESSING</td>
</tr>
</tbody>
</table>
@@ -22102,60 +22102,60 @@ describes the minimum required output stream configurations based on the hardwar
<table>
<thead>
<tr>
-<th align="center">Format</th>
-<th align="center">Size</th>
-<th align="center">Hardware Level</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">Format</th>
+<th style="text-align: center;">Size</th>
+<th style="text-align: center;">Hardware Level</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">JPEG</td>
-<td align="center"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">JPEG</td>
-<td align="center">1920x1080 (1080p)</td>
-<td align="center">Any</td>
-<td align="center">if 1080p &lt;= activeArraySize</td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">JPEG</td>
-<td align="center">1280x720 (720)</td>
-<td align="center">Any</td>
-<td align="center">if 720p &lt;= activeArraySize</td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;">1280x720 (720)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 720p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">JPEG</td>
-<td align="center">640x480 (480p)</td>
-<td align="center">Any</td>
-<td align="center">if 480p &lt;= activeArraySize</td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;">640x480 (480p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 480p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">JPEG</td>
-<td align="center">320x240 (240p)</td>
-<td align="center">Any</td>
-<td align="center">if 240p &lt;= activeArraySize</td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;">320x240 (240p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 240p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">all output sizes available for JPEG</td>
-<td align="center">FULL</td>
-<td align="center"></td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">all output sizes available for JPEG</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">all output sizes available for JPEG,<wbr/> up to the maximum video size</td>
-<td align="center">LIMITED</td>
-<td align="center"></td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">all output sizes available for JPEG,<wbr/> up to the maximum video size</td>
+<td style="text-align: center;">LIMITED</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">IMPLEMENTATION_<wbr/>DEFINED</td>
-<td align="center">same as YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;">IMPLEMENTATION_<wbr/>DEFINED</td>
+<td style="text-align: center;">same as YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
</tbody>
</table>
@@ -22170,66 +22170,66 @@ This new minimum required output stream configurations are illustrated by the ta
<table>
<thead>
<tr>
-<th align="center">Format</th>
-<th align="center">Size</th>
-<th align="center">Hardware Level</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">Format</th>
+<th style="text-align: center;">Size</th>
+<th style="text-align: center;">Hardware Level</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center">JPEG</td>
-<td align="center"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">JPEG</td>
-<td align="center">1920x1080 (1080p)</td>
-<td align="center">Any</td>
-<td align="center">if 1080p &lt;= activeArraySize</td>
+<td style="text-align: center;">JPEG</td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
-<td align="center">FULL</td>
-<td align="center"></td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">1920x1080 (1080p)</td>
-<td align="center">FULL</td>
-<td align="center">if 1080p &lt;= activeArraySize</td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">1280x720 (720)</td>
-<td align="center">FULL</td>
-<td align="center">if 720p &lt;= activeArraySize</td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">1280x720 (720)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 720p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">640x480 (480p)</td>
-<td align="center">FULL</td>
-<td align="center">if 480p &lt;= activeArraySize</td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">640x480 (480p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 480p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">320x240 (240p)</td>
-<td align="center">FULL</td>
-<td align="center">if 240p &lt;= activeArraySize</td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">320x240 (240p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 240p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center">YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">all output sizes available for FULL hardware level,<wbr/> up to the maximum video size</td>
-<td align="center">LIMITED</td>
-<td align="center"></td>
+<td style="text-align: center;">YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">all output sizes available for FULL hardware level,<wbr/> up to the maximum video size</td>
+<td style="text-align: center;">LIMITED</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center">IMPLEMENTATION_<wbr/>DEFINED</td>
-<td align="center">same as YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;">IMPLEMENTATION_<wbr/>DEFINED</td>
+<td style="text-align: center;">same as YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
</tbody>
</table>
@@ -22556,17 +22556,67 @@ can provide.<wbr/></p>
check if it limits the maximum size for image data.<wbr/></p>
<p>For applications targeting SDK version older than 31,<wbr/> the following table
describes the minimum required output stream configurations based on the
-hardware level (<a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a>):
-Format |<wbr/> Size |<wbr/> Hardware Level |<wbr/> Notes
-:-------------------------------------------------:|<wbr/>:--------------------------------------------:|<wbr/>:--------------:|<wbr/>:--------------:
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a> |<wbr/> <a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a> (*1) |<wbr/> Any |<wbr/>
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a> |<wbr/> 1920x1080 (1080p) |<wbr/> Any |<wbr/> if 1080p &lt;= activeArraySize
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a> |<wbr/> 1280x720 (720p) |<wbr/> Any |<wbr/> if 720p &lt;= activeArraySize
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a> |<wbr/> 640x480 (480p) |<wbr/> Any |<wbr/> if 480p &lt;= activeArraySize
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a> |<wbr/> 320x240 (240p) |<wbr/> Any |<wbr/> if 240p &lt;= activeArraySize
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a> |<wbr/> all output sizes available for JPEG |<wbr/> FULL |<wbr/>
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a> |<wbr/> all output sizes available for JPEG,<wbr/> up to the maximum video size |<wbr/> LIMITED |<wbr/>
-<a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a> |<wbr/> same as YUV_<wbr/>420_<wbr/>888 |<wbr/> Any |<wbr/></p>
+hardware level (<a href="#static_android.info.supportedHardwareLevel">android.<wbr/>info.<wbr/>supported<wbr/>Hardware<wbr/>Level</a>):</p>
+<table>
+<thead>
+<tr>
+<th style="text-align: center;">Format</th>
+<th style="text-align: center;">Size</th>
+<th style="text-align: center;">Hardware Level</th>
+<th style="text-align: center;">Notes</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a> (*1)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;">1280x720 (720p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 720p &lt;= activeArraySize</td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;">640x480 (480p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 480p &lt;= activeArraySize</td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;">320x240 (240p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 240p &lt;= activeArraySize</td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">all output sizes available for JPEG</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;"></td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">all output sizes available for JPEG,<wbr/> up to the maximum video size</td>
+<td style="text-align: center;">LIMITED</td>
+<td style="text-align: center;"></td>
+</tr>
+<tr>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
+<td style="text-align: center;">same as YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
+</tr>
+</tbody>
+</table>
<p>For applications targeting SDK version 31 or newer,<wbr/> if the mobile device declares to be
media performance class 12 or higher by setting
<a href="https://developer.android.com/reference/android/os/Build.VERSION.html#MEDIA_PERFORMANCE_CLASS">VERSION#MEDIA_<wbr/>PERFORMANCE_<wbr/>CLASS</a> to be 31 or larger,<wbr/>
@@ -22578,66 +22628,66 @@ This new minimum required output stream configurations are illustrated by the ta
<table>
<thead>
<tr>
-<th align="center">Format</th>
-<th align="center">Size</th>
-<th align="center">Hardware Level</th>
-<th align="center">Notes</th>
+<th style="text-align: center;">Format</th>
+<th style="text-align: center;">Size</th>
+<th style="text-align: center;">Hardware Level</th>
+<th style="text-align: center;">Notes</th>
</tr>
</thead>
<tbody>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
-<td align="center"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a> (*1)</td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a> (*1)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
-<td align="center">1920x1080 (1080p)</td>
-<td align="center">Any</td>
-<td align="center">if 1080p &lt;= activeArraySize</td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#JPEG">ImageFormat#JPEG</a></td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
-<td align="center">FULL</td>
-<td align="center"></td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;"><a href="#static_android.sensor.info.activeArraySize">android.<wbr/>sensor.<wbr/>info.<wbr/>active<wbr/>Array<wbr/>Size</a></td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center">1920x1080 (1080p)</td>
-<td align="center">FULL</td>
-<td align="center">if 1080p &lt;= activeArraySize</td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">1920x1080 (1080p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 1080p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center">1280x720 (720)</td>
-<td align="center">FULL</td>
-<td align="center">if 720p &lt;= activeArraySize</td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">1280x720 (720)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 720p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center">640x480 (480p)</td>
-<td align="center">FULL</td>
-<td align="center">if 480p &lt;= activeArraySize</td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">640x480 (480p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 480p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center">320x240 (240p)</td>
-<td align="center">FULL</td>
-<td align="center">if 240p &lt;= activeArraySize</td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">320x240 (240p)</td>
+<td style="text-align: center;">FULL</td>
+<td style="text-align: center;">if 240p &lt;= activeArraySize</td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
-<td align="center">all output sizes available for FULL hardware level,<wbr/> up to the maximum video size</td>
-<td align="center">LIMITED</td>
-<td align="center"></td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#YUV_420_888">Image<wbr/>Format#YUV_<wbr/>420_<wbr/>888</a></td>
+<td style="text-align: center;">all output sizes available for FULL hardware level,<wbr/> up to the maximum video size</td>
+<td style="text-align: center;">LIMITED</td>
+<td style="text-align: center;"></td>
</tr>
<tr>
-<td align="center"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
-<td align="center">same as YUV_<wbr/>420_<wbr/>888</td>
-<td align="center">Any</td>
-<td align="center"></td>
+<td style="text-align: center;"><a href="https://developer.android.com/reference/android/graphics/ImageFormat.html#PRIVATE">ImageFormat#PRIVATE</a></td>
+<td style="text-align: center;">same as YUV_<wbr/>420_<wbr/>888</td>
+<td style="text-align: center;">Any</td>
+<td style="text-align: center;"></td>
</tr>
</tbody>
</table>
@@ -27944,12 +27994,12 @@ the camera</p>
<ul class="entry_type_enum">
<li>
- <span class="entry_type_enum_name">NOT_SUPPORTED (v3.2)</span>
+ <span class="entry_type_enum_name">NOT_SUPPORTED (v3.8)</span>
<span class="entry_type_enum_notes"><p>This camera device doesn't support readout timestamp and onReadoutStarted
callback.<wbr/></p></span>
</li>
<li>
- <span class="entry_type_enum_name">HARDWARE (v3.2)</span>
+ <span class="entry_type_enum_name">HARDWARE (v3.8)</span>
<span class="entry_type_enum_notes"><p>This camera device supports the onReadoutStarted callback as well as outputting
readout timestamp for streams with TIMESTAMP_<wbr/>BASE_<wbr/>READOUT_<wbr/>SENSOR timestamp base.<wbr/> The
readout timestamp is generated by the camera hardware and it has the same accuracy
@@ -27971,7 +28021,7 @@ onReadoutStarted callback.<wbr/></p>
</td>
<td class="entry_hal_version">
- <p>3.<wbr/>2</p>
+ <p>3.<wbr/>8</p>
</td>
<td class="entry_tags">
diff --git a/camera/docs/metadata_definitions.xml b/camera/docs/metadata_definitions.xml
index 469206ec..1ac9d368 100644
--- a/camera/docs/metadata_definitions.xml
+++ b/camera/docs/metadata_definitions.xml
@@ -7682,6 +7682,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
For applications targeting SDK version older than 31, the following table
describes the minimum required output stream configurations based on the
hardware level (android.info.supportedHardwareLevel):
+
Format | Size | Hardware Level | Notes
:-------------------------------------------------:|:--------------------------------------------:|:--------------:|:--------------:
{@link android.graphics.ImageFormat#JPEG} | android.sensor.info.activeArraySize (*1) | Any |
@@ -10580,7 +10581,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
</dynamic>
<static>
<entry name="readoutTimestamp" type="byte" visibility="fwk_java_public"
- enum="true" hwlevel="legacy">
+ enum="true" hwlevel="legacy" hal_version="3.8">
<enum>
<value>NOT_SUPPORTED
<notes>This camera device doesn't support readout timestamp and onReadoutStarted
diff --git a/camera/docs/metadata_helpers.py b/camera/docs/metadata_helpers.py
index 76f7a61a..33515ea3 100644
--- a/camera/docs/metadata_helpers.py
+++ b/camera/docs/metadata_helpers.py
@@ -1413,7 +1413,7 @@ def get_api_level_to_keys(sections, metadata, kind):
# sort keys)
api_level_to_keys_ordered = OrderedDict()
for api_level_ordered in sorted(api_level_to_keys.keys()):
- api_level_to_keys_ordered[api_level_ordered] = api_level_to_keys[api_level_ordered]
+ api_level_to_keys_ordered[api_level_ordered] = sorted(api_level_to_keys[api_level_ordered])
return api_level_to_keys_ordered
def remove_synthetic(entries):