[libcamera-devel] [PATCH] pipeline: rpi: Account for Bayer packing when validating format

David Plowman david.plowman at raspberrypi.com
Thu Jul 6 11:01:36 CEST 2023


Hi Naush

Thanks for the patch.

On Wed, 5 Jul 2023 at 17:52, Kieran Bingham via libcamera-devel
<libcamera-devel at lists.libcamera.org> wrote:
>
> Quoting Naushir Patuck via libcamera-devel (2023-06-30 14:42:32)
> > RPiCameraConfiguration::validate() did not account for user supplied
> > Bayer packing when validating the RAW stream configuration. Fix this
> > by seeing what packing (if any) has been specified selecting the output
> > RAW stream format.
> >
> > Fixes: 6c71ee1f1530 ("pipeline: raspberrypi: Introduce PipelineHandlerBase class")
> > Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

Reviewed-by: David Plowman <david.plowman at raspberrypi.com>

Thanks!
David

>
> > ---
> >  src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > index df7482920e75..2eb71beaff55 100644
> > --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > @@ -288,8 +288,8 @@ CameraConfiguration::Status RPiCameraConfiguration::validate()
> >                 unsigned int bitDepth = info.isValid() ? info.bitsPerPixel : defaultRawBitDepth;
> >                 V4L2SubdeviceFormat sensorFormat = findBestFormat(data_->sensorFormats_, cfg.size, bitDepth);
> >
> > -               rawFormat.size = sensorFormat.size;
> > -               rawFormat.fourcc = raw.dev->toV4L2PixelFormat(cfg.pixelFormat);
> > +               BayerFormat::Packing packing = BayerFormat::fromPixelFormat(cfg.pixelFormat).packing;
> > +               rawFormat = PipelineHandlerBase::toV4L2DeviceFormat(raw.dev, sensorFormat, packing);
> >
> >                 int ret = raw.dev->tryFormat(&rawFormat);
> >                 if (ret)
> > --
> > 2.34.1
> >


More information about the libcamera-devel mailing list