summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-06-01 22:17:55 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2020-06-26 13:32:29 +0200
commit82ddb680a81ce0dbae93727a8d3a455cdd10c260 (patch)
tree14ff6e6bb3aae9a53f67297937b8cb9545003035 /src
parentcbf0a92185caf3fc702bfa12dde8629c31daab4e (diff)
libcamera: ipu3: Fold mediaBusToFormat() into only caller
Make the code easier to read and refactor. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
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 */