[libcamera-devel,v4,1/9] libcamera: ipu3: Fold mediaBusToFormat() into only caller

Message ID 20200625223900.1282164-2-niklas.soderlund@ragnatech.se
State Accepted
Headers show
Series
  • libcamera: ipu3: Allow zero-copy RAW stream
Related show

Commit Message

Niklas Söderlund June 25, 2020, 10:38 p.m. UTC
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>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 38 ++++++++++++++--------------
 1 file changed, 19 insertions(+), 19 deletions(-)

Patch

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 5544288b14f739c0..34403ebec19bc49c 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 */