camera_metadata: Update android.shading.mode spec
Change-Id: I1860b8f80f8e9e25e40831e74475891ba3a81884
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 3784e1a..6667eb6 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -11631,28 +11631,26 @@
<tr class="entry" id="controls_android.shading.mode">
- <td class="entry_name" rowspan="1">
+ <td class="entry_name" rowspan="3">
android.<wbr/>shading.<wbr/>mode
</td>
<td class="entry_type">
<span class="entry_type_name entry_type_name_enum">byte</span>
- <span class="entry_type_visibility"> [system]</span>
+ <span class="entry_type_visibility"> [hidden]</span>
<ul class="entry_type_enum">
<li>
<span class="entry_type_enum_name">OFF</span>
- <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
+ <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
</li>
<li>
<span class="entry_type_enum_name">FAST</span>
- <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
-bayer output</p></span>
+ <span class="entry_type_enum_notes"><p>Must not slow down 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_notes"><p>Frame rate may be reduced by high
-quality</p></span>
+ <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
</li>
</ul>
@@ -11660,7 +11658,7 @@
<td class="entry_description">
<p>Quality of lens shading correction applied
-to the image data</p>
+to the image data.<wbr/></p>
</td>
<td class="entry_units">
@@ -11673,6 +11671,31 @@
</td>
</tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
+camera device,<wbr/> and an identity lens shading map data will be provided
+if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
+shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
+the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
+shown below:</p>
+<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
+</code></pre>
+<p>When set to other modes,<wbr/> lens shading correction will be applied by the
+camera device.<wbr/> Applications can request lens shading map data by setting
+<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
+lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
+by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
+ </td>
+ </tr>
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
@@ -11745,28 +11768,26 @@
<tr class="entry" id="dynamic_android.shading.mode">
- <td class="entry_name" rowspan="1">
+ <td class="entry_name" rowspan="3">
android.<wbr/>shading.<wbr/>mode
</td>
<td class="entry_type">
<span class="entry_type_name entry_type_name_enum">byte</span>
- <span class="entry_type_visibility"> [system]</span>
+ <span class="entry_type_visibility"> [hidden]</span>
<ul class="entry_type_enum">
<li>
<span class="entry_type_enum_name">OFF</span>
- <span class="entry_type_enum_notes"><p>No shading correction is applied</p></span>
+ <span class="entry_type_enum_notes"><p>No lens shading correction is applied</p></span>
</li>
<li>
<span class="entry_type_enum_name">FAST</span>
- <span class="entry_type_enum_notes"><p>Must not slow down frame rate relative to raw
-bayer output</p></span>
+ <span class="entry_type_enum_notes"><p>Must not slow down 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_notes"><p>Frame rate may be reduced by high
-quality</p></span>
+ <span class="entry_type_enum_notes"><p>Frame rate may be reduced by high quality</p></span>
</li>
</ul>
@@ -11774,7 +11795,7 @@
<td class="entry_description">
<p>Quality of lens shading correction applied
-to the image data</p>
+to the image data.<wbr/></p>
</td>
<td class="entry_units">
@@ -11787,6 +11808,31 @@
</td>
</tr>
+ <tr class="entries_header">
+ <th class="th_details" colspan="5">Details</th>
+ </tr>
+ <tr class="entry_cont">
+ <td class="entry_details" colspan="5">
+ <p>When set to OFF mode,<wbr/> no lens shading correction will be applied by the
+camera device,<wbr/> and an identity lens shading map data will be provided
+if <code><a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> == ON</code>.<wbr/> For example,<wbr/> for lens
+shading map with size specified as <code><a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a> = [ 4,<wbr/> 3 ]</code>,<wbr/>
+the output <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a> for this case will be an identity map
+shown below:</p>
+<pre><code>[ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/>
+ 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0,<wbr/> 1.<wbr/>0 ]
+</code></pre>
+<p>When set to other modes,<wbr/> lens shading correction will be applied by the
+camera device.<wbr/> Applications can request lens shading map data by setting
+<a href="#controls_android.statistics.lensShadingMapMode">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map<wbr/>Mode</a> to ON,<wbr/> and then the camera device will provide
+lens shading map data in <a href="#dynamic_android.statistics.lensShadingMap">android.<wbr/>statistics.<wbr/>lens<wbr/>Shading<wbr/>Map</a>,<wbr/> with size specified
+by <a href="#static_android.lens.info.shadingMapSize">android.<wbr/>lens.<wbr/>info.<wbr/>shading<wbr/>Map<wbr/>Size</a>.<wbr/></p>
+ </td>
+ </tr>
<tr class="entry_spacer"><td class="entry_spacer" colspan="6"></td></tr>
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index 581b01e..5b4e443 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -2956,19 +2956,38 @@
</section>
<section name="shading">
<controls>
- <entry name="mode" type="byte" enum="true">
+ <entry name="mode" type="byte" visibility="hidden" enum="true">
<enum>
<value>OFF
- <notes>No shading correction is applied</notes></value>
+ <notes>No lens shading correction is applied</notes></value>
<value>FAST
- <notes>Must not slow down frame rate relative to raw
- bayer output</notes></value>
+ <notes>Must not slow down frame rate relative to sensor raw output</notes></value>
<value>HIGH_QUALITY
- <notes>Frame rate may be reduced by high
- quality</notes></value>
+ <notes>Frame rate may be reduced by high quality</notes></value>
</enum>
<description>Quality of lens shading correction applied
- to the image data</description>
+ to the image data.</description>
+ <details>
+ When set to OFF mode, no lens shading correction will be applied by the
+ camera device, and an identity lens shading map data will be provided
+ if `android.statistics.lensShadingMapMode == ON`. For example, for lens
+ shading map with size specified as `android.lens.info.shadingMapSize = [ 4, 3 ]`,
+ the output android.statistics.lensShadingMap for this case will be an identity map
+ shown below:
+
+ [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ]
+
+ When set to other modes, lens shading correction will be applied by the
+ camera device. Applications can request lens shading map data by setting
+ android.statistics.lensShadingMapMode to ON, and then the camera device will provide
+ lens shading map data in android.statistics.lensShadingMap, with size specified
+ by android.lens.info.shadingMapSize.
+ </details>
</entry>
<entry name="strength" type="byte">
<description>Control the amount of shading correction
diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h
index a15c2c8..cea94be 100644
--- a/camera/include/system/camera_metadata_tags.h
+++ b/camera/include/system/camera_metadata_tags.h
@@ -292,7 +292,7 @@
ANDROID_SENSOR_INFO_WHITE_LEVEL, // int32 | system
ANDROID_SENSOR_INFO_END,
- ANDROID_SHADING_MODE = // enum | system
+ ANDROID_SHADING_MODE = // enum | hidden
ANDROID_SHADING_START,
ANDROID_SHADING_STRENGTH, // byte | system
ANDROID_SHADING_END,