[libcamera-devel] [PATCH v2 1/2] libcamera: camera: fix validateColorSpaces to choose the correct "main" colour space

Naushir Patuck naush at raspberrypi.com
Fri Jan 6 10:59:29 CET 2023


Hi David,

Thank you for this fix!

On Tue, 3 Jan 2023 at 11:33, David Plowman via libcamera-devel <
libcamera-devel at lists.libcamera.org> wrote:

> The intention is that the "main" colour space is the colour space of
> the largest non-raw stream. Unfortunately the use of "config_[i].size"
> is clearly incorrect, and has been copied from prior versions of the
> code. This small change merely corrects the error.
>
> Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
>

Reviewed-by: Naushir Patuck <naush at raspberrypi.com>


> ---
>  src/libcamera/camera.cpp | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
> index 2d947a44..0da167a7 100644
> --- a/src/libcamera/camera.cpp
> +++ b/src/libcamera/camera.cpp
> @@ -361,6 +361,7 @@ CameraConfiguration::Status
> CameraConfiguration::validateColorSpaces(ColorSpaceF
>          * largest non-raw stream with a defined color space (if there is
> one).
>          */
>         std::optional<ColorSpace> colorSpace;
> +       Size size;
>
>         for (auto [i, cfg] : utils::enumerate(config_)) {
>                 if (!cfg.colorSpace)
> @@ -369,9 +370,10 @@ CameraConfiguration::Status
> CameraConfiguration::validateColorSpaces(ColorSpaceF
>                 if (cfg.colorSpace->adjust(cfg.pixelFormat))
>                         status = Adjusted;
>
> -               if (cfg.colorSpace != ColorSpace::Raw &&
> -                   (!colorSpace || cfg.size > config_[i].size))
> +               if (cfg.colorSpace != ColorSpace::Raw && cfg.size > size) {
>                         colorSpace = cfg.colorSpace;
> +                       size = cfg.size;
> +               }
>         }
>
>         if (!colorSpace || !(flags &
> ColorSpaceFlag::StreamsShareColorSpace))
> --
> 2.30.2
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20230106/a7323a59/attachment.htm>


More information about the libcamera-devel mailing list