summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/pipeline/ipu3/ipu3.cpp38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 5544288b..34403ebe 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -134,8 +134,6 @@ public:
int start();
int stop();
- static V4L2PixelFormat mediaBusToFormat(unsigned int code);
-
V4L2VideoDevice *output_;
V4L2Subdevice *csi2_;
CameraSensor *sensor_;
@@ -1506,7 +1504,25 @@ int CIO2Device::configure(const Size &size,
if (ret)
return ret;
- outputFormat->fourcc = mediaBusToFormat(sensorFormat.mbus_code);
+ V4L2PixelFormat v4l2Format;
+ switch (sensorFormat.mbus_code) {
+ case MEDIA_BUS_FMT_SBGGR10_1X10:
+ v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SBGGR10);
+ break;
+ case MEDIA_BUS_FMT_SGBRG10_1X10:
+ v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGBRG10);
+ break;
+ case MEDIA_BUS_FMT_SGRBG10_1X10:
+ v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10);
+ break;
+ case MEDIA_BUS_FMT_SRGGB10_1X10:
+ v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10);
+ break;
+ default:
+ return -EINVAL;
+ }
+
+ outputFormat->fourcc = v4l2Format;
outputFormat->size = sensorFormat.size;
outputFormat->planesCount = 1;
@@ -1580,22 +1596,6 @@ int CIO2Device::stop()
return output_->streamOff();
}
-V4L2PixelFormat CIO2Device::mediaBusToFormat(unsigned int code)
-{
- switch (code) {
- case MEDIA_BUS_FMT_SBGGR10_1X10:
- return V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SBGGR10);
- case MEDIA_BUS_FMT_SGBRG10_1X10:
- return V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGBRG10);
- case MEDIA_BUS_FMT_SGRBG10_1X10:
- return V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SGRBG10);
- case MEDIA_BUS_FMT_SRGGB10_1X10:
- return V4L2PixelFormat(V4L2_PIX_FMT_IPU3_SRGGB10);
- default:
- return {};
- }
-}
-
REGISTER_PIPELINE_HANDLER(PipelineHandlerIPU3);
} /* namespace libcamera */