From ac0abc50cd70347f6bdd9afca10af89cb859aa09 Mon Sep 17 00:00:00 2001 From: Shuzhen Wang Date: Wed, 8 May 2024 17:21:42 -0700 Subject: Camera: Allow multi-resolution raw reprocessing Test: Camera CTS Bug: 336922859 Change-Id: I47ab35700e27d37c8980a1199d66c3f3eb9bdc4f --- .../android/hardware/camera2/impl/CameraDeviceImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index 81bb9ac33df2..7f04d6448ccd 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -1556,8 +1556,7 @@ public class CameraDeviceImpl extends CameraDevice } // Allow RAW formats, even when not advertised. - if (inputFormat == ImageFormat.RAW_PRIVATE || inputFormat == ImageFormat.RAW10 - || inputFormat == ImageFormat.RAW12 || inputFormat == ImageFormat.RAW_SENSOR) { + if (isRawFormat(inputFormat)) { return true; } @@ -1627,6 +1626,11 @@ public class CameraDeviceImpl extends CameraDevice } } + // Allow RAW formats, even when not advertised. + if (Flags.multiResRawReprocessing() && isRawFormat(inputFormat)) { + return; + } + if (validFormat == false) { throw new IllegalArgumentException("multi-resolution input format " + inputFormat + " is not valid"); @@ -2569,6 +2573,11 @@ public class CameraDeviceImpl extends CameraDevice return mCharacteristics; } + private boolean isRawFormat(int format) { + return (format == ImageFormat.RAW_PRIVATE || format == ImageFormat.RAW10 + || format == ImageFormat.RAW12 || format == ImageFormat.RAW_SENSOR); + } + /** * Listener for binder death. * -- cgit v1.2.3-59-g8ed1b