hardware: samsung_slsi: libcamera2: Stability Fix and code clean-up

Clean-up unused codes and logs.
Resolves instability caused by frame sync error.
Unifies internal data structure.

Change-Id: I29a220e29b5856a42f0727427f9e8af10848500c
Signed-off-by: Sungjoong Kang <sj3.kang@samsung.com>
diff --git a/libcamera2/MetadataConverter.cpp b/libcamera2/MetadataConverter.cpp
index 8557e67..2405811 100644
--- a/libcamera2/MetadataConverter.cpp
+++ b/libcamera2/MetadataConverter.cpp
@@ -72,17 +72,20 @@
     return NO_ERROR;
 }
 
-status_t MetadataConverter::ToInternalShot(camera_metadata_t * request, camera2_ctl_metadata_NEW_t * dst)
+status_t MetadataConverter::ToInternalShot(camera_metadata_t * request, struct camera2_shot_ext * dst_ext)
 {
     uint32_t    num_entry = 0;
     uint32_t    index = 0;
     uint32_t    i = 0;
     camera_metadata_entry_t curr_entry;
+    struct camera2_shot * dst = NULL;
 
     ALOGV("DEBUG(%s):", __FUNCTION__);
-    if (request == NULL || dst == NULL)
+    if (request == NULL || dst_ext == NULL)
         return BAD_VALUE;
 
+    dst = &(dst_ext->shot);
+
     num_entry = (uint32_t)get_camera_metadata_data_count(request);
     for (index = 0 ; index < num_entry ; index++) {
 
@@ -118,7 +121,7 @@
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
                 dst->ctl.lens.opticalStabilizationMode =
-                    (optical_stabilization_mode_NEW_t)curr_entry.data.u8[0];
+                    (enum optical_stabilization_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -146,7 +149,7 @@
             case ANDROID_FLASH_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.flash.flashMode = (flash_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.flash.flashMode = (enum flash_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_FLASH_FIRING_POWER:
@@ -166,7 +169,7 @@
             case ANDROID_HOT_PIXEL_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.hotpixel.mode = (hotpixel_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.hotpixel.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -174,7 +177,7 @@
             case ANDROID_DEMOSAIC_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.demosaic.mode = (demosaic_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.demosaic.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -182,7 +185,7 @@
             case ANDROID_NOISE_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.noise.mode = (noise_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.noise.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_NOISE_STRENGTH:
@@ -196,7 +199,7 @@
             case ANDROID_SHADING_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.shading.mode = (shading_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.shading.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -204,7 +207,7 @@
             case ANDROID_GEOMETRIC_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.geometric.mode = (geometric_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.geometric.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -212,7 +215,7 @@
             case ANDROID_COLOR_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.color.mode = (colorcorrection_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.color.mode = (enum colorcorrection_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_COLOR_TRANSFORM:
@@ -227,7 +230,7 @@
             case ANDROID_TONEMAP_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.tonemap.mode = (tonemap_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.tonemap.mode = (enum tonemap_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_TONEMAP_CURVE_RED:
@@ -256,13 +259,13 @@
             case ANDROID_EDGE_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.edge.mode = (edge_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.edge.mode = (enum processing_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_EDGE_STRENGTH:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.edge.strength = (edge_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.edge.strength = curr_entry.data.u8[0];
                 break;
 
 
@@ -305,8 +308,7 @@
             case ANDROID_JPEG_GPS_PROCESSING_METHOD:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 32))
                     break;
-                for (i=0 ; i<curr_entry.count ; i++)
-                    dst->ctl.jpeg.gpsProcessingMethod[i] = curr_entry.data.u8[i];
+                dst->ctl.jpeg.gpsProcessingMethod = curr_entry.data.u8[0];
                 break;
 
             case ANDROID_JPEG_GPS_TIMESTAMP:
@@ -326,19 +328,19 @@
             case ANDROID_STATS_FACE_DETECT_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.stats.faceDetectMode = (facedetect_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.stats.faceDetectMode = (enum facedetect_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_STATS_HISTOGRAM_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.stats.histogramMode = (histogram_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.stats.histogramMode = (enum stats_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_STATS_SHARPNESS_MAP_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.stats.sharpnessMapMode = (sharpnessmap_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.stats.sharpnessMapMode = (enum stats_mode)curr_entry.data.u8[0];
                 break;
 
 
@@ -346,37 +348,37 @@
             case ANDROID_CONTROL_CAPTURE_INTENT:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.captureIntent = (aa_captureintent_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.captureIntent = (enum aa_capture_intent)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.mode = (aa_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.mode = (enum aa_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_EFFECT_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.effect_mode = (aa_effect_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.effectMode = (enum aa_effect_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_SCENE_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.scene_mode = (aa_scene_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.sceneMode = (enum aa_scene_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_VIDEO_STABILIZATION_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.videoStabilizationMode = (aa_video_stab_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.videoStabilizationMode = curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_AE_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.aeMode= (aa_aemode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.aeMode= (enum aa_aemode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_AE_REGIONS:
@@ -389,7 +391,7 @@
             case ANDROID_CONTROL_AE_EXP_COMPENSATION:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_INT32, 1))
                     break;
-                dst->ctl.aa.aeExpCompensation= (aa_aemode_NEW_t)curr_entry.data.i32[0];
+                dst->ctl.aa.aeExpCompensation = curr_entry.data.i32[0];
                 break;
 
             case ANDROID_CONTROL_AE_TARGET_FPS_RANGE:
@@ -402,13 +404,13 @@
             case ANDROID_CONTROL_AE_ANTIBANDING_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.aeAntibandingMode = (aa_ae_antibanding_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.aeAntibandingMode = (enum aa_ae_antibanding_mode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_AWB_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.awbMode = (aa_awbmode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.awbMode = (enum aa_awbmode)(curr_entry.data.u8[0] + 1);
                 break;
 
             case ANDROID_CONTROL_AWB_REGIONS:
@@ -421,7 +423,7 @@
             case ANDROID_CONTROL_AF_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.aa.afMode = (aa_afmode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.aa.afMode = (enum aa_afmode)curr_entry.data.u8[0];
                 break;
 
             case ANDROID_CONTROL_AF_REGIONS:
@@ -443,7 +445,7 @@
             case ANDROID_REQUEST_METADATA_MODE:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
                     break;
-                dst->ctl.request.metadataMode = (metadata_mode_NEW_t)curr_entry.data.u8[0];
+                dst->ctl.request.metadataMode = (enum metadata_mode)curr_entry.data.u8[0];
                 ALOGV("DEBUG(%s): ANDROID_REQUEST_METADATA_MODE (%d)",  __FUNCTION__, (int)( dst->ctl.request.metadataMode));
                 break;
 
@@ -454,7 +456,7 @@
                     dst->ctl.request.outputStreams[i] = curr_entry.data.u8[i];
                     ALOGV("DEBUG(%s): OUTPUT_STREAM[%d] = %d ",  __FUNCTION__, i, (int)(dst->ctl.request.outputStreams[i]));
                 }
-                dst->ctl.request.numOutputStream = curr_entry.count;
+                dst->ctl.request.id = curr_entry.count; // temporary
                 break;
 
             case ANDROID_REQUEST_FRAME_COUNT:
@@ -477,9 +479,12 @@
 
 
 
-status_t MetadataConverter::ToDynamicMetadata(camera2_ctl_metadata_NEW_t * metadata, camera_metadata_t * dst)
+status_t MetadataConverter::ToDynamicMetadata(struct camera2_shot_ext * metadata_ext, camera_metadata_t * dst)
 {
     status_t    res;
+    struct camera2_shot * metadata = &(metadata_ext->shot);
+    uint8_t  byteData;
+    uint32_t intData;
 
     ALOGV("DEBUG(%s): TEMP version using original request METADATA", __FUNCTION__);
     if (0 != add_camera_metadata_entry(dst, ANDROID_REQUEST_ID,
@@ -496,7 +501,7 @@
         return NO_MEMORY;
 
 
-    if (metadata->ctl.request.metadataMode == METADATA_MODE_NONE_NEW) {
+    if (metadata->ctl.request.metadataMode == METADATA_MODE_NONE) {
         ALOGV("DEBUG(%s): METADATA_MODE_NONE", __FUNCTION__);
         return NO_ERROR;
     }