@@ -27,6 +27,7 @@
#include <libcamera/camera.h>
#include <libcamera/color_space.h>
#include <libcamera/control_ids.h>
+#include <libcamera/pixel_format.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
@@ -261,6 +262,12 @@ static const SimplePipelineInfo supportedDevices[] = {
{ "sun6i-csi", {}, false },
};
+bool isFormatRaw(const libcamera::PixelFormat &pixFmt)
+{
+ return libcamera::PixelFormatInfo::info(pixFmt).colourEncoding ==
+ libcamera::PixelFormatInfo::ColourEncodingRAW;
+}
+
} /* namespace */
class SimpleCameraData : public Camera::Private
@@ -1424,7 +1431,7 @@ int SimplePipelineHandler::configure(Camera *camera, CameraConfiguration *c)
cfg.setStream(&data->streams_[i]);
- if (data->useConversion_)
+ if (data->useConversion_ && !isFormatRaw(cfg.pixelFormat))
outputCfgs.push_back(cfg);
}
In order to support raw streams, we need to add raw formats to software ISP configurations. In this preparatory patch, the raw formats are excluded from output configurations for conversions. Signed-off-by: Milan Zamazal <mzamazal@redhat.com> --- src/libcamera/pipeline/simple/simple.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)