[{"id":4250,"web_url":"https://patchwork.libcamera.org/comment/4250/","msgid":"<20200324082358.GA725711@oden.dyn.berto.se>","date":"2020-03-24T08:23:58","subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_videodevice: Add\n\tsupport for all 32-bit ARGB formats","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Laurent,\n\nThanks for your work.\n\nOn 2020-03-24 01:00:24 +0200, Laurent Pinchart wrote:\n> The V4L2VideoDevice class implements conversion between PixelFormat and\n> V4L2PixelFormat for a single flavour of the 32-bit ARGB formats. Add the\n> three missing ones.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  src/libcamera/v4l2_videodevice.cpp | 12 ++++++++++++\n>  1 file changed, 12 insertions(+)\n> \n> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> index b20c8c77260f..b778181a48a4 100644\n> --- a/src/libcamera/v4l2_videodevice.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -1636,8 +1636,14 @@ PixelFormat V4L2VideoDevice::toPixelFormat(V4L2PixelFormat v4l2Fourcc)\n>  \t\treturn PixelFormat(DRM_FORMAT_BGR888);\n>  \tcase V4L2_PIX_FMT_BGR24:\n>  \t\treturn PixelFormat(DRM_FORMAT_RGB888);\n> +\tcase V4L2_PIX_FMT_RGBA32:\n> +\t\treturn PixelFormat(DRM_FORMAT_ABGR8888);\n> +\tcase V4L2_PIX_FMT_ABGR32:\n> +\t\treturn PixelFormat(DRM_FORMAT_ARGB8888);\n>  \tcase V4L2_PIX_FMT_ARGB32:\n>  \t\treturn PixelFormat(DRM_FORMAT_BGRA8888);\n> +\tcase V4L2_PIX_FMT_BGRA32:\n> +\t\treturn PixelFormat(DRM_FORMAT_RGBA8888);\n>  \n>  \t/* YUV packed formats. */\n>  \tcase V4L2_PIX_FMT_YUYV:\n> @@ -1720,8 +1726,14 @@ V4L2PixelFormat V4L2VideoDevice::toV4L2PixelFormat(const PixelFormat &pixelForma\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_RGB24);\n>  \tcase DRM_FORMAT_RGB888:\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_BGR24);\n> +\tcase DRM_FORMAT_ABGR8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_RGBA32);\n> +\tcase DRM_FORMAT_ARGB8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_ABGR32);\n>  \tcase DRM_FORMAT_BGRA8888:\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_ARGB32);\n> +\tcase DRM_FORMAT_RGBA8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_BGRA32);\n>  \n>  \t/* YUV packed formats. */\n>  \tcase DRM_FORMAT_YUYV:\n> -- \n> Regards,\n> \n> Laurent Pinchart\n> \n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from mail-lf1-x142.google.com (mail-lf1-x142.google.com\n\t[IPv6:2a00:1450:4864:20::142])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 57D6060411\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 24 Mar 2020 09:24:01 +0100 (CET)","by mail-lf1-x142.google.com with SMTP id j188so8594199lfj.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 24 Mar 2020 01:24:01 -0700 (PDT)","from localhost (h-200-138.A463.priv.bahnhof.se. [176.10.200.138])\n\tby smtp.gmail.com with ESMTPSA id\n\tv19sm2426475lfg.9.2020.03.24.01.23.59\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 24 Mar 2020 01:23:59 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=0D0qndBpeTmIMHsxhHBEeew/Ls5La6a0tpkJ5EHWx5A=;\n\tb=HcqpP039P5YBi53rrdU95SPeGaAlwSxTP368GCI3hr8zlRydIWRdqxykr1TogvbPHG\n\tGXSCSr7CC8aZI1cQjWleaeAOk2yBXOJ5/MQB0hhBzdYsgVPP8/rtU624bfxYu7jlOvzy\n\tp2jf97dNeeV2jX9T8a1l35Dute9C08s+XBZrWXpCMHNKRJoCHZZ0b8BIcU5PZXcf0rWk\n\t139znok/GSXmj0G1vioH57WluN81cBjgISqTOFhI9IO1XloMhkxMTILmI5DEFyPmBLVm\n\tcL+I+0sYwPvebjA3QH4dGc4ygQz4iEfm3pJdbQJHlVySxGyKI+Dhhz2xWdtoHqcnWNBF\n\tLQFw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=0D0qndBpeTmIMHsxhHBEeew/Ls5La6a0tpkJ5EHWx5A=;\n\tb=Ugmr8VrafXtHmTxDc/tSwEebrkkmBKt3dBnR0LXYlwK+jmFeUnoEyTFwdCtRQ2Btd3\n\tr9RjMBeVJHrKK233+hiBixGU8gwkEQ0i+w81qjZhqtEHq5pm6x/fUvfl1BxGiI4mdaTq\n\tnqlOXqmNpduEN3EZ2giv2Y+E73z+IsOvIyQ1PCgevQYepQszzl8PuJ+zxlHvcrw6r6ii\n\tt5S8pbNgaKGsnaEgGudpspuLJd1xlb2uh8wNlxhePd5uMTpUkjuuvuAPdz89xxqTT2zE\n\tAsT34wpiKMJlSAQykY/UKk5B6QydsbB72tRYEphC/fZ+6wGuYsZ25x7tu5HXg3QZanxK\n\tOjrw==","X-Gm-Message-State":"ANhLgQ3op7XFpEMSdC4YZsD9n6N1tg4YtYjv/yfnzWeUda2zeg2M2e8s\n\tWtNGJvONHCieJnC68SIGaRYhYS/hAeg=","X-Google-Smtp-Source":"ADFU+vu3pwJHhF84hA0h+JV6Dst2FSROJLa2tfneUE7QsON7BX57OEROrVUyfkVKAmgmTjyXKRCSZQ==","X-Received":"by 2002:a19:8c07:: with SMTP id o7mr15583941lfd.96.1585038240368;\n\tTue, 24 Mar 2020 01:24:00 -0700 (PDT)","Date":"Tue, 24 Mar 2020 09:23:58 +0100","From":"Niklas =?iso-8859-1?q?S=F6derlund?= <niklas.soderlund@ragnatech.se>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200324082358.GA725711@oden.dyn.berto.se>","References":"<20200323230024.9761-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20200323230024.9761-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_videodevice: Add\n\tsupport for all 32-bit ARGB formats","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>","X-List-Received-Date":"Tue, 24 Mar 2020 08:24:01 -0000"}},{"id":4251,"web_url":"https://patchwork.libcamera.org/comment/4251/","msgid":"<20200324083114.cjjs6vyhkdznthea@uno.localdomain>","date":"2020-03-24T08:31:14","subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_videodevice: Add\n\tsupport for all 32-bit ARGB formats","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n\nOn Tue, Mar 24, 2020 at 01:00:24AM +0200, Laurent Pinchart wrote:\n> The V4L2VideoDevice class implements conversion between PixelFormat and\n> V4L2PixelFormat for a single flavour of the 32-bit ARGB formats. Add the\n> three missing ones.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nAs usual when comparing DRM and V4L2 formats I refer to the conversion\ntable in rcar_du_kms.c.\n\nAssuming the tables there are correct (you should ask the author...) I\nvisually compared them with what you got here and they match.\n\nBe aware I have not gone in detail and compared each format\ndocumentation to make sure the layout matches. I assume the author of\nthe DU conversion table did so :)\n\nAnyway, looks good!\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  src/libcamera/v4l2_videodevice.cpp | 12 ++++++++++++\n>  1 file changed, 12 insertions(+)\n>\n> diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp\n> index b20c8c77260f..b778181a48a4 100644\n> --- a/src/libcamera/v4l2_videodevice.cpp\n> +++ b/src/libcamera/v4l2_videodevice.cpp\n> @@ -1636,8 +1636,14 @@ PixelFormat V4L2VideoDevice::toPixelFormat(V4L2PixelFormat v4l2Fourcc)\n>  \t\treturn PixelFormat(DRM_FORMAT_BGR888);\n>  \tcase V4L2_PIX_FMT_BGR24:\n>  \t\treturn PixelFormat(DRM_FORMAT_RGB888);\n> +\tcase V4L2_PIX_FMT_RGBA32:\n> +\t\treturn PixelFormat(DRM_FORMAT_ABGR8888);\n> +\tcase V4L2_PIX_FMT_ABGR32:\n> +\t\treturn PixelFormat(DRM_FORMAT_ARGB8888);\n>  \tcase V4L2_PIX_FMT_ARGB32:\n>  \t\treturn PixelFormat(DRM_FORMAT_BGRA8888);\n> +\tcase V4L2_PIX_FMT_BGRA32:\n> +\t\treturn PixelFormat(DRM_FORMAT_RGBA8888);\n>\n>  \t/* YUV packed formats. */\n>  \tcase V4L2_PIX_FMT_YUYV:\n> @@ -1720,8 +1726,14 @@ V4L2PixelFormat V4L2VideoDevice::toV4L2PixelFormat(const PixelFormat &pixelForma\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_RGB24);\n>  \tcase DRM_FORMAT_RGB888:\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_BGR24);\n> +\tcase DRM_FORMAT_ABGR8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_RGBA32);\n> +\tcase DRM_FORMAT_ARGB8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_ABGR32);\n>  \tcase DRM_FORMAT_BGRA8888:\n>  \t\treturn V4L2PixelFormat(V4L2_PIX_FMT_ARGB32);\n> +\tcase DRM_FORMAT_RGBA8888:\n> +\t\treturn V4L2PixelFormat(V4L2_PIX_FMT_BGRA32);\n>\n>  \t/* YUV packed formats. */\n>  \tcase DRM_FORMAT_YUYV:\n> --\n> Regards,\n>\n> Laurent Pinchart\n>\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C04E960411\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 24 Mar 2020 09:28:15 +0100 (CET)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 3C78560006;\n\tTue, 24 Mar 2020 08:28:15 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Tue, 24 Mar 2020 09:31:14 +0100","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200324083114.cjjs6vyhkdznthea@uno.localdomain>","References":"<20200323230024.9761-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20200323230024.9761-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_videodevice: Add\n\tsupport for all 32-bit ARGB formats","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>","X-List-Received-Date":"Tue, 24 Mar 2020 08:28:15 -0000"}}]