Merge "camera_metadata: update aelock and tranform matrix tag specs"
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 414d6f8..3491d93 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -866,8 +866,6 @@
             </td>
 
             <td class="entry_range">
-              <p>Output values are expected to be in the range
-(0,<wbr/>1)</p>
             </td>
 
             <td class="entry_tags">
@@ -879,13 +877,15 @@
           </tr>
           <tr class="entry_cont">
             <td class="entry_details" colspan="5">
-              <p>This matrix is either set by HAL when the request
+              <p>This matrix is either set by the camera device when the request
 <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
 directly by the application in the request when the
 <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
-<p>In the latter case,<wbr/> the HAL may round the matrix to account
-for precision issues; the final rounded matrix should be
-reported back in this matrix result metadata.<wbr/></p>
+<p>In the latter case,<wbr/> the camera device may round the matrix to account
+for precision issues; the final rounded matrix should be reported back
+in this matrix result metadata.<wbr/> The transform should keep the magnitude
+of the output color values within <code>[0,<wbr/> 1.<wbr/>0]</code> (assuming input color
+values is within the normalized range <code>[0,<wbr/> 1.<wbr/>0]</code>),<wbr/> or clipping may occur.<wbr/></p>
             </td>
           </tr>
 
@@ -1005,8 +1005,6 @@
             </td>
 
             <td class="entry_range">
-              <p>Output values are expected to be in the range
-(0,<wbr/>1)</p>
             </td>
 
             <td class="entry_tags">
@@ -1018,13 +1016,15 @@
           </tr>
           <tr class="entry_cont">
             <td class="entry_details" colspan="5">
-              <p>This matrix is either set by HAL when the request
+              <p>This matrix is either set by the camera device when the request
 <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is not TRANSFORM_<wbr/>MATRIX,<wbr/> or
 directly by the application in the request when the
 <a href="#controls_android.colorCorrection.mode">android.<wbr/>color<wbr/>Correction.<wbr/>mode</a> is TRANSFORM_<wbr/>MATRIX.<wbr/></p>
-<p>In the latter case,<wbr/> the HAL may round the matrix to account
-for precision issues; the final rounded matrix should be
-reported back in this matrix result metadata.<wbr/></p>
+<p>In the latter case,<wbr/> the camera device may round the matrix to account
+for precision issues; the final rounded matrix should be reported back
+in this matrix result metadata.<wbr/> The transform should keep the magnitude
+of the output color values within <code>[0,<wbr/> 1.<wbr/>0]</code> (assuming input color
+values is within the normalized range <code>[0,<wbr/> 1.<wbr/>0]</code>),<wbr/> or clipping may occur.<wbr/></p>
             </td>
           </tr>
 
@@ -1306,7 +1306,7 @@
 
             <td class="entry_description">
               <p>Whether AE is currently locked to its latest
-calculated values</p>
+calculated values.<wbr/></p>
             </td>
 
             <td class="entry_units">
@@ -1328,8 +1328,15 @@
           <tr class="entry_cont">
             <td class="entry_details" colspan="5">
               <p>Note that even when AE is locked,<wbr/> the flash may be
-fired if the AE mode is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
+fired if the <a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is ON_<wbr/>AUTO_<wbr/>FLASH /<wbr/> ON_<wbr/>ALWAYS_<wbr/>FLASH /<wbr/>
 ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE.<wbr/></p>
+<p>If AE precapture is triggered (see <a href="#controls_android.control.aePrecaptureTrigger">android.<wbr/>control.<wbr/>ae<wbr/>Precapture<wbr/>Trigger</a>)
+when AE is already locked,<wbr/> the camera device will not change the exposure time
+(<a href="#controls_android.sensor.exposureTime">android.<wbr/>sensor.<wbr/>exposure<wbr/>Time</a>) and sensitivity (<a href="#controls_android.sensor.sensitivity">android.<wbr/>sensor.<wbr/>sensitivity</a>)
+parameters.<wbr/> The flash may be fired if the android.<wbr/>control.<wbr/>ae<wbr/>Mode
+is ON_<wbr/>AUTO_<wbr/>FLASH/<wbr/>ON_<wbr/>AUTO_<wbr/>FLASH_<wbr/>REDEYE and the scene is too dark.<wbr/> If the
+<a href="#controls_android.control.aeMode">android.<wbr/>control.<wbr/>ae<wbr/>Mode</a> is ON_<wbr/>ALWAYS_<wbr/>FLASH,<wbr/> the scene may become overexposed.<wbr/></p>
+<p>See <a href="#dynamic_android.control.aeState">android.<wbr/>control.<wbr/>ae<wbr/>State</a> for AE lock related state transition details.<wbr/></p>
             </td>
           </tr>
 
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index 9c31aba..ae97f5b 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -176,16 +176,17 @@
           <description>A color transform matrix to use to transform
           from sensor RGB color space to output linear sRGB color space
           </description>
-          <range>Output values are expected to be in the range
-          (0,1)</range>
-          <details>This matrix is either set by HAL when the request
+          <details>This matrix is either set by the camera device when the request
           android.colorCorrection.mode is not TRANSFORM_MATRIX, or
           directly by the application in the request when the
           android.colorCorrection.mode is TRANSFORM_MATRIX.
 
-          In the latter case, the HAL may round the matrix to account
-          for precision issues; the final rounded matrix should be
-          reported back in this matrix result metadata.</details>
+          In the latter case, the camera device may round the matrix to account
+          for precision issues; the final rounded matrix should be reported back
+          in this matrix result metadata. The transform should keep the magnitude
+          of the output color values within `[0, 1.0]` (assuming input color
+          values is within the normalized range `[0, 1.0]`), or clipping may occur.
+          </details>
         </entry>
         <entry name="gains" type="float" visibility="public"
                type_notes="A 1D array of floats for 4 color channel gains"
@@ -324,10 +325,20 @@
             while the lock is active</notes></value>
           </enum>
           <description>Whether AE is currently locked to its latest
-          calculated values</description>
+          calculated values.</description>
           <details>Note that even when AE is locked, the flash may be
-          fired if the AE mode is ON_AUTO_FLASH / ON_ALWAYS_FLASH /
-          ON_AUTO_FLASH_REDEYE.</details>
+          fired if the android.control.aeMode is ON_AUTO_FLASH / ON_ALWAYS_FLASH /
+          ON_AUTO_FLASH_REDEYE.
+
+          If AE precapture is triggered (see android.control.aePrecaptureTrigger)
+          when AE is already locked, the camera device will not change the exposure time
+          (android.sensor.exposureTime) and sensitivity (android.sensor.sensitivity)
+          parameters. The flash may be fired if the android.control.aeMode
+          is ON_AUTO_FLASH/ON_AUTO_FLASH_REDEYE and the scene is too dark. If the
+          android.control.aeMode is ON_ALWAYS_FLASH, the scene may become overexposed.
+
+          See android.control.aeState for AE lock related state transition details.
+          </details>
           <tag id="BC" />
         </entry>
         <entry name="aeMode" type="byte" visibility="public" enum="true">