[libcamera-devel] [PATCH v3 02/10] libcamera: ipu3: Fold mediaBusToFormat() into only caller
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jun 25 01:46:53 CEST 2020
Hi Niklas,
Thank you for the patch.
On Tue, Jun 23, 2020 at 04:09:22AM +0200, Niklas Söderlund wrote:
> Make the code easier to read and refactor.
I actually think it's more difficult to read like this :-)
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 38 ++++++++++++++--------------
> 1 file changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 1a59de0c58975b3c..c525e30a5ad35011 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_;
> @@ -1503,7 +1501,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;
>
> @@ -1577,22 +1593,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 */
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list