[{"id":24829,"web_url":"https://patchwork.libcamera.org/comment/24829/","msgid":"<CALzBHU7uKVOy3=DuqZ-8aNj90tN7TD_sThW2xHdPxEFDxGUDGA@mail.gmail.com>","date":"2022-08-30T07:20:07","subject":"Re: [libcamera-devel] [PATCH] utils: rkisp1: gen-csc-table: Specify\n\tcoefficients with full precision","submitter":{"id":123,"url":"https://patchwork.libcamera.org/api/people/123/","name":"Florian Sylvestre","email":"fsylvestre@baylibre.com"},"content":"Hi Laurent,\n\nReviewed-by: Florian Sylvestre <fsylvestre@baylibre.com>\n\nOn Mon, 29 Aug 2022 at 10:47, Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> The Rec01, Rec709, Rec2020 and SMTPE 240M standards specify the Cb and\n> Cr coefficients of the RGB to Y'CbCr conversion matrix using a quotient\n> of two values. Use the exact same formulas instead of hardcoding the\n> division results with a lower precision.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  utils/rkisp1/gen-csc-table.py | 24 ++++++++++++------------\n>  1 file changed, 12 insertions(+), 12 deletions(-)\n>\n> diff --git a/utils/rkisp1/gen-csc-table.py b/utils/rkisp1/gen-csc-table.py\n> index ca0187ec24c6..2fb702746421 100755\n> --- a/utils/rkisp1/gen-csc-table.py\n> +++ b/utils/rkisp1/gen-csc-table.py\n> @@ -12,24 +12,24 @@ import sys\n>\n>  encodings = {\n>      'rec601': [\n> -        [  0.2990,  0.5870,  0.1140 ],\n> -        [ -0.1687, -0.3313,  0.5    ],\n> -        [  0.5,    -0.4187, -0.0813 ]\n> +        [  0.299,          0.587,          0.114         ],\n> +        [ -0.299 / 1.772, -0.587 / 1.772,  0.886 / 1.772 ],\n> +        [  0.701 / 1.402, -0.587 / 1.402, -0.114 / 1.402 ]\n>      ],\n>      'rec709': [\n> -        [  0.2126,  0.7152,  0.0722 ],\n> -        [ -0.1146, -0.3854,  0.5    ],\n> -        [  0.5,    -0.4542, -0.0458 ]\n> +        [  0.2126,           0.7152,           0.0722          ],\n> +        [ -0.2126 / 1.8556, -0.7152 / 1.8556,  0.9278 / 1.8556 ],\n> +        [  0.7874 / 1.5748, -0.7152 / 1.5748, -0.0722 / 1.5748 ]\n>      ],\n>      'rec2020': [\n> -        [  0.2627,  0.6780,  0.0593 ],\n> -        [ -0.1396, -0.3604,  0.5    ],\n> -        [  0.5,    -0.4598, -0.0402 ]\n> +        [  0.2627,           0.6780,           0.0593          ],\n> +        [ -0.2627 / 1.8814, -0.6780 / 1.8814,  0.9407 / 1.8814 ],\n> +        [  0.7373 / 1.4746, -0.6780 / 1.4746, -0.0593 / 1.4746 ],\n>      ],\n>      'smpte240m': [\n> -        [  0.2122,  0.7013,  0.0865 ],\n> -        [ -0.1161, -0.3839,  0.5    ],\n> -        [  0.5,    -0.4451, -0.0549 ]\n> +        [  0.2122,           0.7013,           0.0865          ],\n> +        [ -0.2122 / 1.8270, -0.7013 / 1.8270,  0.9135 / 1.8270 ],\n> +        [  0.7878 / 1.5756, -0.7013 / 1.5756, -0.0865 / 1.5756 ],\n>      ],\n>  }\n>\n>\n> base-commit: 3fad116f89e0d3497567043cbf6d8c49f1c102db\n> --\n> Regards,\n>\n> Laurent Pinchart\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 4A8EDC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Aug 2022 07:20:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A96C061FBE;\n\tTue, 30 Aug 2022 09:20:20 +0200 (CEST)","from mail-wm1-x334.google.com (mail-wm1-x334.google.com\n\t[IPv6:2a00:1450:4864:20::334])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5AD5C61FB9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 09:20:18 +0200 (CEST)","by mail-wm1-x334.google.com with SMTP id\n\tn23-20020a7bc5d7000000b003a62f19b453so9399330wmk.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 00:20:18 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661844020;\n\tbh=ZndqCiO3zH0+1Of/1adEDvvemzFI7/pn6zKknPIxusg=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=330NoUlegBTp6Z9I61hiOmUO6ckHXySCxQL6BfX21rX5ZWpkNDRPmqr5R9I3/zD75\n\timMuJUm2cDtCWKaixKJA5oI1tiVvANaT2bwLbP1CQanDjHskcPSJyZHe7iUmF8Brbs\n\tNg8WOYHtJJwb4HBrN8VtFtOyvBnahzf2lxh7LBOF4Tq/wjILuDp/VxZLos5EAobmAK\n\tSJb31a5NryL6GGE346O775s+SnOQcCfWWRSndzDYXRg972aa3YAtomCF98pmttSlj0\n\tQJFzWVkhRE2gs1CFWN9uNzrusttTBDUbGobvf2f3IBsEvzVeEBY6aaiY4PAzb3UanX\n\tK9A4sI09uAjbg==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=baylibre-com.20210112.gappssmtp.com; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc;\n\tbh=P0eNW9Ms9CJ4bnz8YzrKgRgjHOwHOw6+AdQ/cFOQ+1Y=;\n\tb=fS0Vp52xu5IfZzQpbxtqbAbxGo4jb7Vm7AN6bt5TczYiCfnypwueU1KCSgB21oi0oR\n\tXJUVlh+kclI6J93NrbM5UNAdy7reSxcawLfvPi5jkb6kO+p9ElUTLcwcsOhvY747DM0g\n\tzL8N9JYCeNyA4wlptKbJzypG4H+FlUtcKjbdmSqdUycCJJRf5VVqF528pzJGwTe7moQy\n\tmwLy9dirVz8VisduKrcUfEVZlLNOofl1MsPVY8GQpQ71ar8lhgjc5OR1idzKj1d1HsHi\n\tL+AMwE98asAuLWeN3OqIAepvjhxqGklIC0ssiMNBPVFa9796wkSJrccinxks53VLU3a/\n\tjC4w=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=baylibre-com.20210112.gappssmtp.com\n\theader.i=@baylibre-com.20210112.gappssmtp.com header.b=\"fS0Vp52x\"; \n\tdkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc;\n\tbh=P0eNW9Ms9CJ4bnz8YzrKgRgjHOwHOw6+AdQ/cFOQ+1Y=;\n\tb=flmrDZaaGWyXzlwOv1tXe75IZbL44YjJA7LJBMfWbGxY3G9l7mdEY6nrUuIOtovZrU\n\tfMcUXCvNRjUxSFievabe5Qcq6XIetlhfTXXTYTXUzJmxMVwIBvLatnBDeHpB9jAtM+GB\n\tjTlit6gIPFqE8+expUhBQ6UvPg/XtcQ/scJ4lxxtoaWG5qfic6tpu1WOVJYLMnhtZbdF\n\t48oHvdactBofemRXKCi1ImGJlwKo/DGFkksYbo8HVk10oeCA+r+jceUwGr6Olapi8CEr\n\tFSUtfV1yDxCaWsM81jZCxIqjdj1xNhTUuFk85OrBykBIz8wq/QA9sQWqhhfFH12vGdfq\n\t6TGQ==","X-Gm-Message-State":"ACgBeo1967EL9SShVstTnmeFMF8XyZrDDpLMF7FS2vCru7O519FNU+Ni\n\tZkMdNkmJoMWnf87GelhN6bmgHG7NYka7c0G2Dhqv3+ILD46ykw==","X-Google-Smtp-Source":"AA6agR6UwwgeMhz4iZEGjXFUOWgWY+Z+F7YpbF3mrA7p9uskT0tjmqgYqdKiPt+j4EM+kSMDQo1m0Yt9NJvitkAwk+g=","X-Received":"by 2002:a7b:cb49:0:b0:3a6:544d:e248 with SMTP id\n\tv9-20020a7bcb49000000b003a6544de248mr8562169wmj.125.1661844018010;\n\tTue, 30 Aug 2022 00:20:18 -0700 (PDT)","MIME-Version":"1.0","References":"<20220829084746.23405-1-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20220829084746.23405-1-laurent.pinchart@ideasonboard.com>","Date":"Tue, 30 Aug 2022 09:20:07 +0200","Message-ID":"<CALzBHU7uKVOy3=DuqZ-8aNj90tN7TD_sThW2xHdPxEFDxGUDGA@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH] utils: rkisp1: gen-csc-table: Specify\n\tcoefficients with full precision","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":"Florian Sylvestre via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Florian Sylvestre <fsylvestre@baylibre.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":24834,"web_url":"https://patchwork.libcamera.org/comment/24834/","msgid":"<8c084c89-95fe-ec90-3734-a0f597249cbf@ideasonboard.com>","date":"2022-08-30T10:36:36","subject":"Re: [libcamera-devel] [PATCH] utils: rkisp1: gen-csc-table: Specify\n\tcoefficients with full precision","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 8/29/22 2:17 PM, Laurent Pinchart via libcamera-devel wrote:\n> The Rec01, Rec709, Rec2020 and SMTPE 240M standards specify the Cb and\n> Cr coefficients of the RGB to Y'CbCr conversion matrix using a quotient\n> of two values. Use the exact same formulas instead of hardcoding the\n> division results with a lower precision.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   utils/rkisp1/gen-csc-table.py | 24 ++++++++++++------------\n>   1 file changed, 12 insertions(+), 12 deletions(-)\n>\n> diff --git a/utils/rkisp1/gen-csc-table.py b/utils/rkisp1/gen-csc-table.py\n> index ca0187ec24c6..2fb702746421 100755\n> --- a/utils/rkisp1/gen-csc-table.py\n> +++ b/utils/rkisp1/gen-csc-table.py\n> @@ -12,24 +12,24 @@ import sys\n>   \n>   encodings = {\n>       'rec601': [\n> -        [  0.2990,  0.5870,  0.1140 ],\n> -        [ -0.1687, -0.3313,  0.5    ],\n> -        [  0.5,    -0.4187, -0.0813 ]\n> +        [  0.299,          0.587,          0.114         ],\n> +        [ -0.299 / 1.772, -0.587 / 1.772,  0.886 / 1.772 ],\n> +        [  0.701 / 1.402, -0.587 / 1.402, -0.114 / 1.402 ]\n>       ],\n>       'rec709': [\n> -        [  0.2126,  0.7152,  0.0722 ],\n> -        [ -0.1146, -0.3854,  0.5    ],\n> -        [  0.5,    -0.4542, -0.0458 ]\n> +        [  0.2126,           0.7152,           0.0722          ],\n> +        [ -0.2126 / 1.8556, -0.7152 / 1.8556,  0.9278 / 1.8556 ],\n> +        [  0.7874 / 1.5748, -0.7152 / 1.5748, -0.0722 / 1.5748 ]\n>       ],\n>       'rec2020': [\n> -        [  0.2627,  0.6780,  0.0593 ],\n> -        [ -0.1396, -0.3604,  0.5    ],\n> -        [  0.5,    -0.4598, -0.0402 ]\n> +        [  0.2627,           0.6780,           0.0593          ],\n> +        [ -0.2627 / 1.8814, -0.6780 / 1.8814,  0.9407 / 1.8814 ],\n> +        [  0.7373 / 1.4746, -0.6780 / 1.4746, -0.0593 / 1.4746 ],\n>       ],\n>       'smpte240m': [\n> -        [  0.2122,  0.7013,  0.0865 ],\n> -        [ -0.1161, -0.3839,  0.5    ],\n> -        [  0.5,    -0.4451, -0.0549 ]\n> +        [  0.2122,           0.7013,           0.0865          ],\n> +        [ -0.2122 / 1.8270, -0.7013 / 1.8270,  0.9135 / 1.8270 ],\n> +        [  0.7878 / 1.5756, -0.7013 / 1.5756, -0.0865 / 1.5756 ],\n>       ],\n>   }\n>   \n>\n> base-commit: 3fad116f89e0d3497567043cbf6d8c49f1c102db","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 D5684C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Aug 2022 10:36:45 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3254161F9E;\n\tTue, 30 Aug 2022 12:36:45 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5437E61F9C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 30 Aug 2022 12:36:43 +0200 (CEST)","from [IPV6:2401:4900:1f3f:1548:78ac:4a3:edc3:c28a] (unknown\n\t[IPv6:2401:4900:1f3f:1548:78ac:4a3:edc3:c28a])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 236C14A8;\n\tTue, 30 Aug 2022 12:36:41 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1661855805;\n\tbh=oQ1sQmOt0QGka1jSJObRGRHBVGUAzL0+dCWGXsvqG00=;\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=kZjN6MhyQswG/HWomwi3LMVYqdze/Vo/HTE9qhWHVPo1T8u+f+SmHapNfrhdo6G3l\n\tNePeblrhwf2jqIZX89gqWHwQgtRZ6wCOKPFFls1F7Flojsbf+UUOhyPmK8m+KUqCuJ\n\tNADeFL+s1/C+dV47dQbhpb/hJIKgyLRYezsEMgAdZ4tmQTWfEy9n2A4TwERH3rleNP\n\t4zXRLWLFMV3q4vbXdkzMpwx21kjfxDnO0zdxunejV0mFPXcQA8kuLHZlfNwNt+men7\n\tjWNRBvMmej1p3u0ztNxYQUOJsgEszNW1Dd2KGGSAnUAMzjgb1jabZIB/SWEEI8yg+J\n\t4FAnaRAUfNnEA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1661855802;\n\tbh=oQ1sQmOt0QGka1jSJObRGRHBVGUAzL0+dCWGXsvqG00=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=bKQcfoO1/zFfyj4ae/xbTPlkpzb1ZCMp7/4gLWZz2aVL7KCNKFTO+nY2TI/Mzdsf8\n\teod5RixDUVbeNE7b+uXNdId/zSVZM5dfUsjfDrnjrF6ceOPKEbTRSp/c1QNzUBvgtz\n\tLSTU/hA724AG0iBKMXFaHkYO84SM+wOtUeTrsp+E="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"bKQcfoO1\"; dkim-atps=neutral","Message-ID":"<8c084c89-95fe-ec90-3734-a0f597249cbf@ideasonboard.com>","Date":"Tue, 30 Aug 2022 16:06:36 +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":"<20220829084746.23405-1-laurent.pinchart@ideasonboard.com>","In-Reply-To":"<20220829084746.23405-1-laurent.pinchart@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] utils: rkisp1: gen-csc-table: Specify\n\tcoefficients with full precision","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>"}}]