QCamera2: HAL3: Combine sensor, and ISP gains into EXIF
JPEG ISO EXIF should combine sensor sensitivity, ISP pre-stats sensitivity
and post-stats sensitivity.
Bug: 29268533
Change-Id: I40d0baf014e820d96454c3fbc9a958e86c0b27d4
diff --git a/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg_exif.c b/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg_exif.c
index e56fc24..3fa7464 100644
--- a/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg_exif.c
+++ b/QCamera2/stack/mm-jpeg-interface/src/mm_jpeg_exif.c
@@ -566,10 +566,25 @@
}
} else {
/* HAL V3 */
+ p_3a_params.iso_value = 100;
+
IF_META_AVAILABLE(int32_t, iso, CAM_INTF_META_SENSOR_SENSITIVITY, p_meta) {
- p_3a_params.iso_value= *iso;
+ p_3a_params.iso_value= p_3a_params.iso_value * (*iso) / 100;
} else {
- LOGE("Cannot extract Iso value");
+ LOGE("Cannot extract SENSOR_SENSITIVITY value");
+ }
+
+ IF_META_AVAILABLE(int32_t, isp_iso, CAM_INTF_META_ISP_SENSITIVITY, p_meta) {
+ p_3a_params.iso_value= p_3a_params.iso_value * (*isp_iso) / 100;
+ } else {
+ LOGE("Cannot extract ISP_SENSITIVITY value");
+ }
+
+ IF_META_AVAILABLE(float, post_stats_iso, CAM_INTF_META_ISP_POST_STATS_SENSITIVITY, p_meta) {
+ p_3a_params.iso_value= p_3a_params.iso_value * (*post_stats_iso);
+ } else {
+ /* CAM_INTF_META_ISP_POST_STATS_SENSITIVITY is optional */
+ LOGD("Cannot extract ISP_POST_STATS_SENSITIVITY value");
}
IF_META_AVAILABLE(int64_t, sensor_exposure_time,