camera: Make overrideFormat from reserved fields opt-in

Change-Id: Ic0025ae5a4d359074e25692e1913eb98f47bbcec
diff --git a/camera/device/3.2/default/Android.bp b/camera/device/3.2/default/Android.bp
index 00e59ec..7af517f 100644
--- a/camera/device/3.2/default/Android.bp
+++ b/camera/device/3.2/default/Android.bp
@@ -10,7 +10,10 @@
 
 cc_library_shared {
     name: "camera.device@3.2-impl",
-    defaults: ["hidl_defaults"],
+    defaults: [
+        "hidl_defaults",
+        "camera_override_format_from_reserved_defaults",
+    ],
     proprietary: true,
     srcs: [
         "CameraDevice.cpp",
diff --git a/camera/device/3.2/default/CameraDeviceSession.cpp b/camera/device/3.2/default/CameraDeviceSession.cpp
index 896c358..6e5c714 100644
--- a/camera/device/3.2/default/CameraDeviceSession.cpp
+++ b/camera/device/3.2/default/CameraDeviceSession.cpp
@@ -927,11 +927,14 @@
             mCirculatingBuffers.emplace(stream.mId, CirculatingBuffers{});
         } else {
             // width/height must not change, but usage/rotation might need to change
-            // format might change and get updated with overrideFormat
+            // format might change and get updated with TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
             if (mStreamMap[id].stream_type !=
                     (int) requestedConfiguration.streams[i].streamType ||
                     mStreamMap[id].width != requestedConfiguration.streams[i].width ||
                     mStreamMap[id].height != requestedConfiguration.streams[i].height ||
+#ifndef TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
+                    mStreamMap[id].format != (int) requestedConfiguration.streams[i].format ||
+#endif
                     mStreamMap[id].data_space !=
                             mapToLegacyDataspace( static_cast<android_dataspace_t> (
                                     requestedConfiguration.streams[i].dataSpace))) {
diff --git a/camera/device/3.2/default/convert.cpp b/camera/device/3.2/default/convert.cpp
index cb64f39..fdbc204 100644
--- a/camera/device/3.2/default/convert.cpp
+++ b/camera/device/3.2/default/convert.cpp
@@ -74,8 +74,10 @@
     dst->data_space = (android_dataspace_t) src.dataSpace;
     dst->rotation = (int) src.rotation;
     dst->usage = (uint32_t) src.usage;
+#ifdef TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
     dst->reserved[0] = NULL;
     dst->reserved[1] = NULL;
+#endif
     // Fields to be filled by HAL (max_buffers, priv) are initialized to 0
     dst->max_buffers = 0;
     dst->priv = 0;
@@ -99,6 +101,7 @@
                 __FUNCTION__, src->stream_type);
     }
 
+#ifdef TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
     HalStream* halStream = NULL;
     if (src->reserved[0] != NULL) {
         halStream = (HalStream*)(src->reserved[0]);
@@ -115,6 +118,7 @@
             dst->consumerUsage = (BufferUsageFlags)halStream->consumerUsage;
         }
     }
+#endif
 }
 
 void convertToHidl(const camera3_stream_configuration_t& src, HalStreamConfiguration* dst) {
diff --git a/camera/device/3.3/default/Android.bp b/camera/device/3.3/default/Android.bp
index 5bc2b51..32bbdf6 100644
--- a/camera/device/3.3/default/Android.bp
+++ b/camera/device/3.3/default/Android.bp
@@ -10,7 +10,10 @@
 
 cc_library_shared {
     name: "camera.device@3.3-impl",
-    defaults: ["hidl_defaults"],
+    defaults: [
+        "hidl_defaults",
+        "camera_override_format_from_reserved_defaults",
+    ],
     proprietary: true,
     srcs: [
         "CameraDevice.cpp",
diff --git a/camera/device/3.3/default/convert.cpp b/camera/device/3.3/default/convert.cpp
index ac17d83..9b6caf0 100644
--- a/camera/device/3.3/default/convert.cpp
+++ b/camera/device/3.3/default/convert.cpp
@@ -48,6 +48,7 @@
                 __FUNCTION__, src->stream_type);
     }
 
+#ifdef TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED
     HalStream* halStream = NULL;
     if (src->reserved[0] != NULL) {
         halStream = (HalStream*)(src->reserved[0]);
@@ -63,6 +64,7 @@
             dst->v3_2.consumerUsage = (BufferUsageFlags)halStream->v3_2.consumerUsage;
         }
     }
+#endif
 }
 
 void convertToHidl(const camera3_stream_configuration_t& src, HalStreamConfiguration* dst) {