libcamera: simple: Exclude raw configurations from output conversions

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.

Reviewed-by: Umang Jain <uajain@igalia.com>
Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Milan Zamazal
2025-12-04 17:49:10 +01:00
committed by Kieran Bingham
parent 5f51e2e545
commit 2d9b647e56

View File

@@ -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>
@@ -264,6 +265,12 @@ static const SimplePipelineInfo supportedDevices[] = {
{ "sun6i-csi", {}, false },
};
bool isRaw(const StreamConfiguration &cfg)
{
return libcamera::PixelFormatInfo::info(cfg.pixelFormat).colourEncoding ==
libcamera::PixelFormatInfo::ColourEncodingRAW;
}
} /* namespace */
class SimpleCameraData : public Camera::Private
@@ -1471,7 +1478,7 @@ int SimplePipelineHandler::configure(Camera *camera, CameraConfiguration *c)
cfg.setStream(&data->streams_[i]);
if (data->useConversion_)
if (data->useConversion_ && !isRaw(cfg))
outputCfgs.push_back(cfg);
}