[{"id":17787,"web_url":"https://patchwork.libcamera.org/comment/17787/","msgid":"<20210625093933.GS2599@pyrite.rasen.tech>","date":"2021-06-25T09:39:33","subject":"Re: [libcamera-devel] [PATCH v3] libcamera: Fix V4L2 pixel format\n\tmapping for XRGB32 and RGBX32","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Vedant,\n\nOn Wed, Jun 23, 2021 at 08:16:56PM +0530, Vedant Paranjape wrote:\n> On running libcamera gstreamer element on Raspberry Pi 4B+, there was a\n> warning as follows:\n> \n> [3:23:59.717513107] [3577] WARN V4L2 v4l2_pixelformat.cpp:180 Unsupported V4L2 pixel format XB24\n> \n> This patch fixes the following warning, by adding BGRX8888 pixel format\n\ns/following//\n\n> in libcamera, and updating the existing mapping of V4L2_PIX_FMT_XRGB32\n> to it's corresponding libcamera pixel format. Additionally, adds a new\n\ns/it's/its/\n\nYou should mention what the \"corresponding libcamera pixel format\" is.\n\ns/adds/add/\n\n> mapping of V4L2_PIX_FMT_RBGX32 to formats::XBGR8888\n> \n> Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>\n\nWith those changes,\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/libcamera/formats.cpp          | 12 +++++++++++-\n>  src/libcamera/v4l2_pixelformat.cpp |  3 ++-\n>  2 files changed, 13 insertions(+), 2 deletions(-)\n> \n> diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n> index 55822f4c..e41bfc05 100644\n> --- a/src/libcamera/formats.cpp\n> +++ b/src/libcamera/formats.cpp\n> @@ -198,13 +198,23 @@ const std::map<PixelFormat, PixelFormatInfo> pixelFormatInfo{\n>  \t{ formats::XBGR8888, {\n>  \t\t.name = \"XBGR8888\",\n>  \t\t.format = formats::XBGR8888,\n> -\t\t.v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),\n> +\t\t.v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGBX32),\n>  \t\t.bitsPerPixel = 32,\n>  \t\t.colourEncoding = PixelFormatInfo::ColourEncodingRGB,\n>  \t\t.packed = false,\n>  \t\t.pixelsPerGroup = 1,\n>  \t\t.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n>  \t} },\n> +\t{ formats::BGRX8888, {\n> +\t\t.name = \"BGRX8888\",\n> +\t\t.format = formats::BGRX8888,\n> +\t\t.v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),\n> +\t\t.bitsPerPixel = 32,\n> +\t\t.colourEncoding = PixelFormatInfo::ColourEncodingRGB,\n> +\t\t.packed = false,\n> +\t\t.pixelsPerGroup = 1,\n> +\t\t.planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n> +\t} },\t\n>  \t{ formats::ABGR8888, {\n>  \t\t.name = \"ABGR8888\",\n>  \t\t.format = formats::ABGR8888,\n> diff --git a/src/libcamera/v4l2_pixelformat.cpp b/src/libcamera/v4l2_pixelformat.cpp\n> index 166d93cf..78a08303 100644\n> --- a/src/libcamera/v4l2_pixelformat.cpp\n> +++ b/src/libcamera/v4l2_pixelformat.cpp\n> @@ -51,7 +51,8 @@ const std::map<V4L2PixelFormat, PixelFormat> vpf2pf{\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_RGB24), formats::BGR888 },\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_BGR24), formats::RGB888 },\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), formats::XRGB8888 },\n> -\t{ V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::XBGR8888 },\n> +\t{ V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::BGRX8888 },\n> +\t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), formats::XBGR8888 },\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), formats::ABGR8888 },\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), formats::ARGB8888 },\n>  \t{ V4L2PixelFormat(V4L2_PIX_FMT_ARGB32), formats::BGRA8888 },\n> -- \n> 2.25.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 60F74C321D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 25 Jun 2021 09:39:43 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1F869684D0;\n\tFri, 25 Jun 2021 11:39:43 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 672F3684CB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Jun 2021 11:39:41 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E7515501;\n\tFri, 25 Jun 2021 11:39:39 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"WAVWGIW1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1624613981;\n\tbh=MO/f9TnK3yIYSLny8abVKv2M8tqWuLx5N44bfkN1TxQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=WAVWGIW1Tk5RB5pZb7GH+wqBKqDpTuCo3Y7Y8o3Q/PodDvJKHXFpTlxY6u2qyTMq/\n\tSprmFUl5KbAJFkldV9CLZxYI0lIutxkqdlcX9Xf+Pai80YxuNAlEALxX86hPYx6QUb\n\tbALvWSpzymNFxAFrWf4jLkYF+D8uZu+oSW7+LbiI=","Date":"Fri, 25 Jun 2021 18:39:33 +0900","From":"paul.elder@ideasonboard.com","To":"Vedant Paranjape <vedantparanjape160201@gmail.com>","Message-ID":"<20210625093933.GS2599@pyrite.rasen.tech>","References":"<20210623144656.1206509-1-vedantparanjape160201@gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210623144656.1206509-1-vedantparanjape160201@gmail.com>","Subject":"Re: [libcamera-devel] [PATCH v3] libcamera: Fix V4L2 pixel format\n\tmapping for XRGB32 and RGBX32","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17789,"web_url":"https://patchwork.libcamera.org/comment/17789/","msgid":"<CACGrz-MHYiVvEM6bkHZasM-haJ4Jh6mQVLDB+58=KbMzkn79CQ@mail.gmail.com>","date":"2021-06-25T09:50:42","subject":"Re: [libcamera-devel] [PATCH v3] libcamera: Fix V4L2 pixel format\n\tmapping for XRGB32 and RGBX32","submitter":{"id":85,"url":"https://patchwork.libcamera.org/api/people/85/","name":"Vedant Paranjape","email":"vedantparanjape160201@gmail.com"},"content":"Will do, thanks!\n\nOn Fri, Jun 25, 2021 at 3:09 PM <paul.elder@ideasonboard.com> wrote:\n\n> Hi Vedant,\n>\n> On Wed, Jun 23, 2021 at 08:16:56PM +0530, Vedant Paranjape wrote:\n> > On running libcamera gstreamer element on Raspberry Pi 4B+, there was a\n> > warning as follows:\n> >\n> > [3:23:59.717513107] [3577] WARN V4L2 v4l2_pixelformat.cpp:180\n> Unsupported V4L2 pixel format XB24\n> >\n> > This patch fixes the following warning, by adding BGRX8888 pixel format\n>\n> s/following//\n>\n> > in libcamera, and updating the existing mapping of V4L2_PIX_FMT_XRGB32\n> > to it's corresponding libcamera pixel format. Additionally, adds a new\n>\n> s/it's/its/\n>\n> You should mention what the \"corresponding libcamera pixel format\" is.\n>\n> s/adds/add/\n>\n> > mapping of V4L2_PIX_FMT_RBGX32 to formats::XBGR8888\n> >\n> > Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>\n>\n> With those changes,\n>\n> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n>\n> > ---\n> >  src/libcamera/formats.cpp          | 12 +++++++++++-\n> >  src/libcamera/v4l2_pixelformat.cpp |  3 ++-\n> >  2 files changed, 13 insertions(+), 2 deletions(-)\n> >\n> > diff --git a/src/libcamera/formats.cpp b/src/libcamera/formats.cpp\n> > index 55822f4c..e41bfc05 100644\n> > --- a/src/libcamera/formats.cpp\n> > +++ b/src/libcamera/formats.cpp\n> > @@ -198,13 +198,23 @@ const std::map<PixelFormat, PixelFormatInfo>\n> pixelFormatInfo{\n> >       { formats::XBGR8888, {\n> >               .name = \"XBGR8888\",\n> >               .format = formats::XBGR8888,\n> > -             .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),\n> > +             .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_RGBX32),\n> >               .bitsPerPixel = 32,\n> >               .colourEncoding = PixelFormatInfo::ColourEncodingRGB,\n> >               .packed = false,\n> >               .pixelsPerGroup = 1,\n> >               .planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n> >       } },\n> > +     { formats::BGRX8888, {\n> > +             .name = \"BGRX8888\",\n> > +             .format = formats::BGRX8888,\n> > +             .v4l2Format = V4L2PixelFormat(V4L2_PIX_FMT_XRGB32),\n> > +             .bitsPerPixel = 32,\n> > +             .colourEncoding = PixelFormatInfo::ColourEncodingRGB,\n> > +             .packed = false,\n> > +             .pixelsPerGroup = 1,\n> > +             .planes = {{ { 4, 1 }, { 0, 0 }, { 0, 0 } }},\n> > +     } },\n> >       { formats::ABGR8888, {\n> >               .name = \"ABGR8888\",\n> >               .format = formats::ABGR8888,\n> > diff --git a/src/libcamera/v4l2_pixelformat.cpp\n> b/src/libcamera/v4l2_pixelformat.cpp\n> > index 166d93cf..78a08303 100644\n> > --- a/src/libcamera/v4l2_pixelformat.cpp\n> > +++ b/src/libcamera/v4l2_pixelformat.cpp\n> > @@ -51,7 +51,8 @@ const std::map<V4L2PixelFormat, PixelFormat> vpf2pf{\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_RGB24), formats::BGR888 },\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_BGR24), formats::RGB888 },\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_XBGR32), formats::XRGB8888 },\n> > -     { V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::XBGR8888 },\n> > +     { V4L2PixelFormat(V4L2_PIX_FMT_XRGB32), formats::BGRX8888 },\n> > +     { V4L2PixelFormat(V4L2_PIX_FMT_RGBX32), formats::XBGR8888 },\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_RGBA32), formats::ABGR8888 },\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_ABGR32), formats::ARGB8888 },\n> >       { V4L2PixelFormat(V4L2_PIX_FMT_ARGB32), formats::BGRA8888 },\n> > --\n> > 2.25.1\n> >\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id A915DC321D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 25 Jun 2021 09:50:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DF1A9684D2;\n\tFri, 25 Jun 2021 11:50:56 +0200 (CEST)","from mail-yb1-xb30.google.com (mail-yb1-xb30.google.com\n\t[IPv6:2607:f8b0:4864:20::b30])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0DDE5684CB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Jun 2021 11:50:56 +0200 (CEST)","by mail-yb1-xb30.google.com with SMTP id c8so3748699ybq.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 25 Jun 2021 02:50:55 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"WUtVAbV0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=4gls+7xNNoi74iyOkcLxmRrJPZG/VyOWMYKZ1d4DL9k=;\n\tb=WUtVAbV0OfBCzRNANz2ZIXjgjp+z8q8a92dCFZCIua+ixZYGgHyVpu/ETUfaxhV2gL\n\tBKF3EH27WTueWLMVY9FUEu/irY68BttgyDpQMq1RAYC4q8yd4DS8+chV14hH16nXo/w0\n\tKE2jsnLqoTqTPHjS0NMBdScAph0Ph1J5Na56ylegZcNsyVPII9xLYmSs8M8WDNnbQJY1\n\t3sFxy948ezMAztLybCwkCOSgBW90LJQPCO6och4aaTcmV1OykW0ci53ui7RUeqV166UW\n\tpDzNpNOpdTZluKCn/KAjBJWwl2QqiwfC9F6N+odm22zObsFkQ/hNfiHOvrMBMCp2aH6K\n\tFlVQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=4gls+7xNNoi74iyOkcLxmRrJPZG/VyOWMYKZ1d4DL9k=;\n\tb=NEID0MaiELXwdusbUwweQui9EDrNkS2B4Oj957KHyUgXjTXsBsCc8pIFKGvdtJDQfT\n\tPYbuVw5t9UDZlFOlQHzpg57ArFADu0GD7q+URFLKmKhZBTcx41pbJQGMlAnR54/rc07f\n\tdzFo+aVpJBuQW1OSy2BE88oAQPqrT2/ePIvrIANtt1a2xBkFsKI87x/Tq2oM9S6p7HTR\n\tVTji4yAXTdezc+bsjAVf6+zBTqcWL1VIRgZbzh8g4lssmp9Pl4OGklwiXQuvBGtoLS6L\n\tLQGYe+G6c1eFm4weMQ0+smbzTPXYnRusFmakXJwpO2dGIDwLLEkLn/CjEvKie7YYoR35\n\tVgKw==","X-Gm-Message-State":"AOAM533yDQS6SqesSeMaSLYR6RfpJXBoHfFit4EtNwQGuZsOkmJk1vp1\n\th3cdfslqB4OffTjTRkAc6NK23SkXZJmhUO+QKICZQrtbVVc=","X-Google-Smtp-Source":"ABdhPJyW6eXoIrzZPiLVvPTL1JA1eC+bVluGrpLoD9Eyz0uFkQPJ1p2IAdETIPVCU53GSAGbusqNqYr6ncreEbdzdyg=","X-Received":"by 2002:a25:344:: with SMTP id 65mr11349594ybd.223.1624614654700;\n\tFri, 25 Jun 2021 02:50:54 -0700 (PDT)","MIME-Version":"1.0","References":"<20210623144656.1206509-1-vedantparanjape160201@gmail.com>\n\t<20210625093933.GS2599@pyrite.rasen.tech>","In-Reply-To":"<20210625093933.GS2599@pyrite.rasen.tech>","From":"Vedant Paranjape <vedantparanjape160201@gmail.com>","Date":"Fri, 25 Jun 2021 15:20:42 +0530","Message-ID":"<CACGrz-MHYiVvEM6bkHZasM-haJ4Jh6mQVLDB+58=KbMzkn79CQ@mail.gmail.com>","To":"paul.elder@ideasonboard.com","Content-Type":"multipart/alternative; boundary=\"00000000000063f0f405c594133f\"","Subject":"Re: [libcamera-devel] [PATCH v3] libcamera: Fix V4L2 pixel format\n\tmapping for XRGB32 and RGBX32","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]