@@ -26,6 +26,7 @@
#include <libcamera/camera.h>
#include <libcamera/control_ids.h>
+#include <libcamera/pixel_format.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
@@ -209,6 +210,12 @@ static const SimplePipelineInfo supportedDevices[] = {
{ "sun6i-csi", {}, false },
};
+bool isRawFormat(const PixelFormat &format)
+{
+ return libcamera::PixelFormatInfo::info(format).colourEncoding ==
+ libcamera::PixelFormatInfo::ColourEncodingRAW;
+}
+
} /* namespace */
class SimpleCameraData : public Camera::Private
@@ -1270,7 +1277,7 @@ int SimplePipelineHandler::configure(Camera *camera, CameraConfiguration *c)
cfg.setStream(&data->streams_[i]);
- if (data->useConversion_)
+ if (data->useConversion_ && !isRawFormat(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(-)