camera metadata: update dynamic black level type

They should be floats rather than integers for better precision.

Bug: 23011454
Change-Id: I8c10ff0bc5f07f1d53cdbda36da55b4483f721aa
diff --git a/camera/docs/docs.html b/camera/docs/docs.html
index 9d28d65..bae1897 100644
--- a/camera/docs/docs.html
+++ b/camera/docs/docs.html
@@ -21287,13 +21287,13 @@
               android.<wbr/>sensor.<wbr/>dynamic<wbr/>Black<wbr/>Level
             </td>
             <td class="entry_type">
-                <span class="entry_type_name">int32</span>
+                <span class="entry_type_name">float</span>
                 <span class="entry_type_container">x</span>
 
                 <span class="entry_type_array">
                   4
                 </span>
-              <span class="entry_type_visibility"> [public as blackLevelPattern]</span>
+              <span class="entry_type_visibility"> [public]</span>
 
 
 
diff --git a/camera/docs/metadata_properties.xml b/camera/docs/metadata_properties.xml
index f0231a9..0c5ef44 100644
--- a/camera/docs/metadata_properties.xml
+++ b/camera/docs/metadata_properties.xml
@@ -7070,9 +7070,8 @@
         </entry>
       </static>
       <dynamic>
-        <entry name="dynamicBlackLevel" type="int32" visibility="public"
-        optional="true" type_notes="2x2 raw count block" container="array"
-        typedef="blackLevelPattern">
+        <entry name="dynamicBlackLevel" type="float" visibility="public"
+        optional="true" type_notes="2x2 raw count block" container="array">
           <array>
             <size>4</size>
           </array>
@@ -7117,7 +7116,8 @@
           </hal_details>
           <tag id="RAW" />
         </entry>
-        <entry name="dynamicWhiteLevel" type="int32" visibility="public">
+        <entry name="dynamicWhiteLevel" type="int32" visibility="public"
+        optional="true" >
           <description>
           Maximum raw value output by sensor for this frame.
           </description>
diff --git a/camera/include/system/camera_metadata_tags.h b/camera/include/system/camera_metadata_tags.h
index 497fcb0..14b56a2 100644
--- a/camera/include/system/camera_metadata_tags.h
+++ b/camera/include/system/camera_metadata_tags.h
@@ -308,7 +308,7 @@
     ANDROID_SENSOR_AVAILABLE_TEST_PATTERN_MODES,      // int32[]      | public
     ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,              // int64        | public
     ANDROID_SENSOR_OPTICAL_BLACK_REGIONS,             // int32[]      | public
-    ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL,               // int32[]      | public
+    ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL,               // float[]      | public
     ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL,               // int32        | public
     ANDROID_SENSOR_END,
 
diff --git a/camera/src/camera_metadata_tag_info.c b/camera/src/camera_metadata_tag_info.c
index 852f1a6..e9d218e 100644
--- a/camera/src/camera_metadata_tag_info.c
+++ b/camera/src/camera_metadata_tag_info.c
@@ -495,7 +495,7 @@
     [ ANDROID_SENSOR_OPTICAL_BLACK_REGIONS - ANDROID_SENSOR_START ] =
     { "opticalBlackRegions",           TYPE_INT32  },
     [ ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL - ANDROID_SENSOR_START ] =
-    { "dynamicBlackLevel",             TYPE_INT32  },
+    { "dynamicBlackLevel",             TYPE_FLOAT  },
     [ ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL - ANDROID_SENSOR_START ] =
     { "dynamicWhiteLevel",             TYPE_INT32  },
 };