hardware: samsung_slsi:libcamera2: Enable ZSL and frame sync

This patch enables ZSL feature.
Stream structure has been re-organized for supporting ZSL.
Modified Start/End sequence.
Requires frame sync functionalities.

Change-Id: I02a77027934fcc4238afd63ee67259708893ea5e
Signed-off-by: Sungjoong Kang <sj3.kang@samsung.com>
diff --git a/libcamera2/MetadataConverter.cpp b/libcamera2/MetadataConverter.cpp
index 3fab627..6484536 100644
--- a/libcamera2/MetadataConverter.cpp
+++ b/libcamera2/MetadataConverter.cpp
@@ -292,14 +292,32 @@
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE))
                     break;
 
+                dst->ctl.request.outputStreams[0] = 0;
                 for (i=0 ; i<curr_entry.count ; i++) {
-                    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]));
+                    ALOGV("DEBUG(%s): OUTPUT_STREAM[%d] = %d ",  __FUNCTION__, i, curr_entry.data.u8[i]);
+                    dst->ctl.request.outputStreams[0] |= (1 << curr_entry.data.u8[i]);
                 }
 
                 dst->ctl.request.outputStreams[15] = curr_entry.count;
                 break;
 
+            case ANDROID_REQUEST_INPUT_STREAMS:
+                if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE))
+                    break;
+
+                for (i=0 ; i<curr_entry.count ; i++) {
+                    dst_ext->reprocessInput = curr_entry.data.u8[0];
+                    ALOGV("DEBUG(%s): ANDROID_REQUEST_INPUT_STREAMS[%d] = %d ",  __FUNCTION__, i, dst_ext->reprocessInput);
+                }
+                break;
+
+            case ANDROID_REQUEST_TYPE:
+                if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
+                    break;
+                dst_ext->isReprocessing = curr_entry.data.u8[0];
+                ALOGV("DEBUG(%s): ANDROID_REQUEST_TYPE (%d)",  __FUNCTION__, dst_ext->isReprocessing);
+                break;
+
             case ANDROID_REQUEST_FRAME_COUNT:
                 if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_INT32, 1))
                     break;