Merge "QCamera2: HAL3: Add vendor tags for OIS data" into oc-mr1-dev
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 7861a95..b987e8a 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -8124,6 +8124,10 @@
             frame_ois_data->ois_sample_shift_x, frame_ois_data->num_ois_sample);
         camMetadata.update(NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_Y,
             frame_ois_data->ois_sample_shift_y, frame_ois_data->num_ois_sample);
+        camMetadata.update(NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_X,
+            frame_ois_data->ois_sample_shift_pixel_x, frame_ois_data->num_ois_sample);
+        camMetadata.update(NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_Y,
+            frame_ois_data->ois_sample_shift_pixel_y, frame_ois_data->num_ois_sample);
     }
 
     resultMetadata = camMetadata.release();
diff --git a/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp b/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
index af83390..3c6847d 100644
--- a/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3VendorTags.cpp
@@ -357,6 +357,8 @@
     { "stats.ois_timestamps_boottime", TYPE_INT64 },
     { "stats.ois_shift_x", TYPE_INT32 },
     { "stats.ois_shift_y", TYPE_INT32 },
+    { "stats.ois_shift_pixel_x", TYPE_FLOAT },
+    { "stats.ois_shift_pixel_y", TYPE_FLOAT },
     { "sensor.pd_data_dimensions", TYPE_INT32},
     { "sensor.pd_data_enable", TYPE_BYTE},
     { "control.exposure_time_boost", TYPE_FLOAT},
@@ -594,6 +596,8 @@
     (uint32_t)NEXUS_EXPERIMENTAL_2017_OIS_TIMESTAMPS_BOOTTIME,
     (uint32_t)NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_X,
     (uint32_t)NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_Y,
+    (uint32_t)NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_X,
+    (uint32_t)NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_Y,
     (uint32_t)NEXUS_EXPERIMENTAL_2017_PD_DATA_DIMENSIONS,
     (uint32_t)NEXUS_EXPERIMENTAL_2017_PD_DATA_ENABLE,
     (uint32_t)NEXUS_EXPERIMENTAL_2017_EXP_TIME_BOOST,
diff --git a/msm8998/QCamera2/HAL3/QCamera3VendorTags.h b/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
index 4d9cf35..2f6ea20 100644
--- a/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
+++ b/msm8998/QCamera2/HAL3/QCamera3VendorTags.h
@@ -437,6 +437,8 @@
     NEXUS_EXPERIMENTAL_2017_OIS_TIMESTAMPS_BOOTTIME,
     NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_X,
     NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_Y,
+    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_X,
+    NEXUS_EXPERIMENTAL_2017_OIS_SHIFT_PIXEL_Y,
     /* PD plumbing */
     NEXUS_EXPERIMENTAL_2017_PD_DATA_DIMENSIONS,
     NEXUS_EXPERIMENTAL_2017_PD_DATA_ENABLE,
diff --git a/msm8998/QCamera2/stack/common/cam_types.h b/msm8998/QCamera2/stack/common/cam_types.h
index fc7a134..fd75193 100644
--- a/msm8998/QCamera2/stack/common/cam_types.h
+++ b/msm8998/QCamera2/stack/common/cam_types.h
@@ -995,6 +995,8 @@
     int64_t ois_sample_timestamp_boottime[MAX_OIS_SAMPLE_NUM_PER_FRAME];
     int32_t ois_sample_shift_x[MAX_OIS_SAMPLE_NUM_PER_FRAME];
     int32_t ois_sample_shift_y[MAX_OIS_SAMPLE_NUM_PER_FRAME];
+    float ois_sample_shift_pixel_x[MAX_OIS_SAMPLE_NUM_PER_FRAME];
+    float ois_sample_shift_pixel_y[MAX_OIS_SAMPLE_NUM_PER_FRAME];
 } cam_frame_ois_info_t;
 
 typedef struct  {