[{"id":24924,"web_url":"https://patchwork.libcamera.org/comment/24924/","msgid":"<20220905011954.GA24722@pyrite.rasen.tech>","date":"2022-09-05T01:19:54","subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_device: Map\n\tYCbCrEncoding::None to V4L2","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"On Sun, Sep 04, 2022 at 02:06:43AM +0300, Laurent Pinchart via libcamera-devel wrote:\n> The ycbcrEncodingToV4l2 map is missing the YCbCrEncoding::None encoding,\n> which results in a failure of V4L2Device::fromColorSpace() to convert\n> color spaces from libcamera to V4L2 for RGB formats. Fix it by adding\n> the missing encoding. As V4L2 has no such encoding, use\n> V4L2_YCBCR_ENC_DEFAULT as the value doesn't matter.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/libcamera/v4l2_device.cpp | 2 ++\n>  1 file changed, 2 insertions(+)\n> \n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp\n> index 1d899657bf7d..7f251bd820a0 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_device.cpp\n> @@ -796,6 +796,8 @@ static const std::map<ColorSpace::TransferFunction, v4l2_xfer_func> transferFunc\n>  };\n>  \n>  static const std::map<ColorSpace::YcbcrEncoding, v4l2_ycbcr_encoding> ycbcrEncodingToV4l2 = {\n> +\t/* V4L2 has no \"none\" encoding. */\n> +\t{ ColorSpace::YcbcrEncoding::None, V4L2_YCBCR_ENC_DEFAULT },\n>  \t{ ColorSpace::YcbcrEncoding::Rec601, V4L2_YCBCR_ENC_601 },\n>  \t{ ColorSpace::YcbcrEncoding::Rec709, V4L2_YCBCR_ENC_709 },\n>  \t{ ColorSpace::YcbcrEncoding::Rec2020, V4L2_YCBCR_ENC_BT2020 },","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 0D8D7C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Sep 2022 01:20:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 577BA6204A;\n\tMon,  5 Sep 2022 03:20:04 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 742416041F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Sep 2022 03:20:02 +0200 (CEST)","from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp\n\t[175.177.42.159])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E06224A8;\n\tMon,  5 Sep 2022 03:20:00 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1662340804;\n\tbh=Pfy8Sijk5d1LhoZXbEwQ6KzYmp/i69G6n5JtqwLgr34=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=YDxeIAH7aXi+n9d+/yo0ACx68YluPd5gY6+8n93sILRhWdk613QKFNElYKiyzQ+VL\n\tSVcpYNnoXC3i2h2I4dc/p2/q9Kx91cnASskNSFraw6H/FImgCFD/P3MKopdmTXWl2P\n\tI6g/DQpz5D1eBzSoMeNm4wePW2dRZ7QiNn/YpyaxYqecwgFYawHPe1QlA8wDmetpig\n\t9LPTXyeolofTrbKJ3ru3qbajmktOoG4DBctzjB931aGBYMiCCAA5uPacwmVbrMVWMF\n\tFv2djvKiLu+2nyv0sSEexe4iuuWMp1K8fjw+VI3syw7vv4x0Mv2h99o0S1K/bwIV8F\n\trZu5zosk79QHA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1662340802;\n\tbh=Pfy8Sijk5d1LhoZXbEwQ6KzYmp/i69G6n5JtqwLgr34=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=p3E3ws47/HqvJsgQ/ajm7DwjON3RO9i7YP+I9pZy+gXWeHJ47ABWVxr0mc0+GkHGG\n\tDpBJbjC+1h0k/XVXnheFEjihv3asppneY2WZ0q2QzIXS6Dhw9EBNk7fVKkvEizkc+V\n\tnNLNzRKGpQ8ZHgX2gOpEbyoLf9CKqrsrblhYsKVo="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"p3E3ws47\"; dkim-atps=neutral","Date":"Mon, 5 Sep 2022 10:19:54 +0900","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20220905011954.GA24722@pyrite.rasen.tech>","References":"<20220903230643.19284-1-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20220903230643.19284-1-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_device: Map\n\tYCbCrEncoding::None to V4L2","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>","From":"Paul Elder via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"paul.elder@ideasonboard.com","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":24925,"web_url":"https://patchwork.libcamera.org/comment/24925/","msgid":"<287de952-5159-734f-86cb-73a9a2c581ab@ideasonboard.com>","date":"2022-09-05T10:36:43","subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_device: Map\n\tYCbCrEncoding::None to V4L2","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nThank you for the patch.\n\nOn 9/4/22 4:36 AM, Laurent Pinchart wrote:\n> The ycbcrEncodingToV4l2 map is missing the YCbCrEncoding::None encoding,\n> which results in a failure of V4L2Device::fromColorSpace() to convert\n> color spaces from libcamera to V4L2 for RGB formats. Fix it by adding\n> the missing encoding. As V4L2 has no such encoding, use\n> V4L2_YCBCR_ENC_DEFAULT as the value doesn't matter.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n> ---\n>   src/libcamera/v4l2_device.cpp | 2 ++\n>   1 file changed, 2 insertions(+)\n>\n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp\n> index 1d899657bf7d..7f251bd820a0 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_device.cpp\n> @@ -796,6 +796,8 @@ static const std::map<ColorSpace::TransferFunction, v4l2_xfer_func> transferFunc\n>   };\n>   \n>   static const std::map<ColorSpace::YcbcrEncoding, v4l2_ycbcr_encoding> ycbcrEncodingToV4l2 = {\n> +\t/* V4L2 has no \"none\" encoding. */\n> +\t{ ColorSpace::YcbcrEncoding::None, V4L2_YCBCR_ENC_DEFAULT },\n>   \t{ ColorSpace::YcbcrEncoding::Rec601, V4L2_YCBCR_ENC_601 },\n>   \t{ ColorSpace::YcbcrEncoding::Rec709, V4L2_YCBCR_ENC_709 },\n>   \t{ ColorSpace::YcbcrEncoding::Rec2020, V4L2_YCBCR_ENC_BT2020 },","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 218E9C0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  5 Sep 2022 05:09:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 632AA6204B;\n\tMon,  5 Sep 2022 07:09:18 +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 BFB9D6041F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  5 Sep 2022 07:09:16 +0200 (CEST)","from [IPV6:2401:4900:1f3f:3b55:213a:3c32:c7d0:be1e] (unknown\n\t[IPv6:2401:4900:1f3f:3b55:213a:3c32:c7d0:be1e])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 970C94A8;\n\tMon,  5 Sep 2022 07:09:15 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1662354558;\n\tbh=eWdfMYDASVwZYxz3RfAdATRihmXYrLB8Dytxd0KzT5E=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=BVnInQ+NVHADJ2r/ZaVAIoz7CyK5Mc/4MgRL0iU00LfFY6M+S2GM1yz8iYqJJEqBm\n\t7ATmNc/8iu2J8PaLdT0dKORkEIe6qpp+vJWlruPnuMR674pTWerpJxapUzsEvAO7Ya\n\tViiRjToF4Fn92Gy4yR5FoKkCN9C4pwbESPLqvHtM80b32Ktl5fXJ8t59UBuHFTTkZV\n\tZmrld/HH5SEW4fyJcXaEW4y0obdvERLcVib19VnwKhvp5Gxu6YNrM7cPajE+GMUO4+\n\tYs1tE4zMpekG//bEemsibXWQC9lz47ePD0Bvkkb4Lp0pyam2U6dXgc/e7u5d7AGtOh\n\tWHFQoQ+zpiCbA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1662354556;\n\tbh=eWdfMYDASVwZYxz3RfAdATRihmXYrLB8Dytxd0KzT5E=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=Q6p3d4lou3foF6CZnnbUOC0/tVMdc3TpF933OWOx6Lag8nBZRv9SSQii53RggJ9RR\n\tTIcBmjjC2pfE4xYYa0PrEnf8DqH3rPYmQy5D4Jx9HtTEjCssH+UhZaW5TAZLq3vwTX\n\tjLKsMPb6v74ppOG91GJFMk3fbAhG+CrbuKcv2lNI="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Q6p3d4lo\"; dkim-atps=neutral","Message-ID":"<287de952-5159-734f-86cb-73a9a2c581ab@ideasonboard.com>","Date":"Mon, 5 Sep 2022 16:06:43 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.12.0","Content-Language":"en-US","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20220903230643.19284-1-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20220903230643.19284-1-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] libcamera: v4l2_device: Map\n\tYCbCrEncoding::None to V4L2","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>","From":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]