[{"id":27731,"web_url":"https://patchwork.libcamera.org/comment/27731/","msgid":"<07c168d5-44bd-22f0-0037-6306a03cebfc@ideasonboard.com>","date":"2023-09-04T17:04:33","subject":"Re: [libcamera-devel] [PATCH v5 09/12] py: libcamera: Define and\n\tuse Orientation","submitter":{"id":109,"url":"https://patchwork.libcamera.org/api/people/109/","name":"Tomi Valkeinen","email":"tomi.valkeinen@ideasonboard.com"},"content":"On 01/09/2023 18:02, Jacopo Mondi via libcamera-devel wrote:\n> Define an enumeration type for Orientation and expose the\n> CameraConfiguration::orientation property in place of\n> CameraConfiguration::transform.\n> \n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> ---\n>   src/py/libcamera/py_enums.cpp | 10 ++++++++++\n>   src/py/libcamera/py_main.cpp  |  2 +-\n>   2 files changed, 11 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/py/libcamera/py_enums.cpp b/src/py/libcamera/py_enums.cpp\n> index 803c4e7ee362..3cf381e2eb84 100644\n> --- a/src/py/libcamera/py_enums.cpp\n> +++ b/src/py/libcamera/py_enums.cpp\n> @@ -31,4 +31,14 @@ void init_py_enums(py::module &m)\n>   \t\t.value(\"String\", ControlType::ControlTypeString)\n>   \t\t.value(\"Rectangle\", ControlType::ControlTypeRectangle)\n>   \t\t.value(\"Size\", ControlType::ControlTypeSize);\n> +\n> +\tpy::enum_<Orientation>(m, \"Orientation\")\n> +\t\t.value(\"Rotate0\", Orientation::rotate0)\n> +\t\t.value(\"Rotate0Flip\", Orientation::rotate0Flip)\n> +\t\t.value(\"Rotate180\", Orientation::rotate180)\n> +\t\t.value(\"Rotate180Flip\", Orientation::rotate180Flip)\n> +\t\t.value(\"Rotate90Flip\", Orientation::rotate90Flip)\n> +\t\t.value(\"Rotate270\", Orientation::rotate270)\n> +\t\t.value(\"Rotate270Flip\", Orientation::rotate270Flip)\n> +\t\t.value(\"Rotate90\", Orientation::rotate90);\n>   }\n> diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp\n> index 01fb15a9391c..63371dce38b3 100644\n> --- a/src/py/libcamera/py_main.cpp\n> +++ b/src/py/libcamera/py_main.cpp\n> @@ -293,7 +293,7 @@ PYBIND11_MODULE(_libcamera, m)\n>   \t\t     py::return_value_policy::reference_internal)\n>   \t\t.def_property_readonly(\"size\", &CameraConfiguration::size)\n>   \t\t.def_property_readonly(\"empty\", &CameraConfiguration::empty)\n> -\t\t.def_readwrite(\"transform\", &CameraConfiguration::transform);\n> +\t\t.def_readwrite(\"orientation\", &CameraConfiguration::orientation);\n>   \n>   \tpyCameraConfigurationStatus\n>   \t\t.value(\"Valid\", CameraConfiguration::Valid)\n\nReviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>\n\n  Tomi","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 B3E03BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  4 Sep 2023 17:04:38 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 00CF6628E7;\n\tMon,  4 Sep 2023 19:04:38 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C8B97628D7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  4 Sep 2023 19:04:36 +0200 (CEST)","from [192.168.88.20] (91-154-35-171.elisa-laajakaista.fi\n\t[91.154.35.171])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9205E31B9;\n\tMon,  4 Sep 2023 19:03:10 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1693847078;\n\tbh=nWCZ2J2hQOEqLxIqaEA3E/39gQORJZtGxQP5IXxqYEA=;\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=2yzLJeqKKsQYJKfaWcmG2UPjABo9YoaD8qzbRRg2oys8xFQzSDzS6fn99MZIqrKtD\n\t6RHZTxBcVrncmqGaHMToTp9YBqomLUpR1+iiWmnjfODFLf3h1eD9eKAqMXVAcbl07s\n\tH/CfddOqvhie/Gon0WAYThaob/38dItidxRadIxv7++fLPPU41i9z08JVF8FqZF7ap\n\ts8CP1oFaVQXgdjt+gHaYrIhN/1fQ57LcWJaFlV4CHLtreNn67cNZz57ZAFeGsQxJIH\n\tuTSazVZ795xjktrdCy2Q5Nj5IBKRthI8GsaQvmqLQkb/cxDL2e1p8ongWLm4XJlTt8\n\tldi/UXa973zsQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1693846990;\n\tbh=nWCZ2J2hQOEqLxIqaEA3E/39gQORJZtGxQP5IXxqYEA=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=QecMphQnHlt+pt63kfncmrjwa7XLppQdndQaHIV6XIUbUhHqQnRLrgVXnCPiD+gMT\n\tVkY+3gjFu2I0nuXxXfqqZ8pIwjHaoyu8qv+F6jjTDh7UzcmelNvg77k1d3knyvqwnW\n\tDkDyQre4l4q01eD66kYjygEMixDJRt5rFkCVwF8Q="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"QecMphQn\"; dkim-atps=neutral","Message-ID":"<07c168d5-44bd-22f0-0037-6306a03cebfc@ideasonboard.com>","Date":"Mon, 4 Sep 2023 20:04:33 +0300","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n\tThunderbird/102.13.0","Content-Language":"en-US","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20230901150215.11585-1-jacopo.mondi@ideasonboard.com>\n\t<20230901150215.11585-10-jacopo.mondi@ideasonboard.com>","In-Reply-To":"<20230901150215.11585-10-jacopo.mondi@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v5 09/12] py: libcamera: Define and\n\tuse Orientation","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":"Tomi Valkeinen via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27985,"web_url":"https://patchwork.libcamera.org/comment/27985/","msgid":"<20231018205612.GK1512@pendragon.ideasonboard.com>","date":"2023-10-18T20:56:12","subject":"Re: [libcamera-devel] [PATCH v5 09/12] py: libcamera: Define and\n\tuse Orientation","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Fri, Sep 01, 2023 at 05:02:12PM +0200, Jacopo Mondi via libcamera-devel wrote:\n> Define an enumeration type for Orientation and expose the\n> CameraConfiguration::orientation property in place of\n> CameraConfiguration::transform.\n> \n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/py/libcamera/py_enums.cpp | 10 ++++++++++\n>  src/py/libcamera/py_main.cpp  |  2 +-\n>  2 files changed, 11 insertions(+), 1 deletion(-)\n> \n> diff --git a/src/py/libcamera/py_enums.cpp b/src/py/libcamera/py_enums.cpp\n> index 803c4e7ee362..3cf381e2eb84 100644\n> --- a/src/py/libcamera/py_enums.cpp\n> +++ b/src/py/libcamera/py_enums.cpp\n> @@ -31,4 +31,14 @@ void init_py_enums(py::module &m)\n>  \t\t.value(\"String\", ControlType::ControlTypeString)\n>  \t\t.value(\"Rectangle\", ControlType::ControlTypeRectangle)\n>  \t\t.value(\"Size\", ControlType::ControlTypeSize);\n> +\n> +\tpy::enum_<Orientation>(m, \"Orientation\")\n> +\t\t.value(\"Rotate0\", Orientation::rotate0)\n> +\t\t.value(\"Rotate0Flip\", Orientation::rotate0Flip)\n> +\t\t.value(\"Rotate180\", Orientation::rotate180)\n> +\t\t.value(\"Rotate180Flip\", Orientation::rotate180Flip)\n> +\t\t.value(\"Rotate90Flip\", Orientation::rotate90Flip)\n> +\t\t.value(\"Rotate270\", Orientation::rotate270)\n> +\t\t.value(\"Rotate270Flip\", Orientation::rotate270Flip)\n> +\t\t.value(\"Rotate90\", Orientation::rotate90);\n>  }\n> diff --git a/src/py/libcamera/py_main.cpp b/src/py/libcamera/py_main.cpp\n> index 01fb15a9391c..63371dce38b3 100644\n> --- a/src/py/libcamera/py_main.cpp\n> +++ b/src/py/libcamera/py_main.cpp\n> @@ -293,7 +293,7 @@ PYBIND11_MODULE(_libcamera, m)\n>  \t\t     py::return_value_policy::reference_internal)\n>  \t\t.def_property_readonly(\"size\", &CameraConfiguration::size)\n>  \t\t.def_property_readonly(\"empty\", &CameraConfiguration::empty)\n> -\t\t.def_readwrite(\"transform\", &CameraConfiguration::transform);\n> +\t\t.def_readwrite(\"orientation\", &CameraConfiguration::orientation);\n>  \n>  \tpyCameraConfigurationStatus\n>  \t\t.value(\"Valid\", CameraConfiguration::Valid)","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 6E1D2C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 18 Oct 2023 20:56:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EEE0D6297F;\n\tWed, 18 Oct 2023 22:56:06 +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 7734E61DD1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 18 Oct 2023 22:56:05 +0200 (CEST)","from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi\n\t[213.243.189.158])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C811FAE;\n\tWed, 18 Oct 2023 22:55:57 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1697662567;\n\tbh=C+4Et6CzyPrVNMGRYs0oNUdlETf6Icww2UL0MhtJ4tA=;\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=V8lEpWONfN+gHhAksIaL/99/8KhSXvlFSQSVImqci9xCdfXjCQ3C2IY0tOEKoA0uz\n\tJBPgSF2YND3OcqqIDhBKwFHqIDSEmbww2XajF30ob4xirh0ibNpHxnU1pgFJHtmo+l\n\tsVk8HcBn+RgUeKDrcZsl8JlLioBjzj2UL/tHm7RzJJL2OhX5VakIPJGLwPjmivE3Sz\n\tvlzZddYPH5uJMKj3Jn1xN3rVsGAnYYgt4YZjkO0qMyr9Ul2vxo9RYjxXrpT9a9NQv5\n\tW/iS8HWDK9339t8tjSu0b3zn2dinG5F5ij9yzpI9lHLJgka43EndHoti39YFGEenwL\n\tGLVntkdAmcLlQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1697662558;\n\tbh=C+4Et6CzyPrVNMGRYs0oNUdlETf6Icww2UL0MhtJ4tA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=abXZjeQuYypW4lX43gqnXjBZYPTtBaI0XehLcbhFv4Wq1o1VslKYkTW6lNnl2A/OH\n\tu1O/DPkhJ4TU2F6NNReywWrV22tBVqRr1OKISj1rqbAIRznGRadcKATx0XHvvPgA/A\n\twIxKkSXK/ovycl3k4p9JJ5pDV47gXW2UIs9p/2Kc="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"abXZjeQu\"; dkim-atps=neutral","Date":"Wed, 18 Oct 2023 23:56:12 +0300","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Message-ID":"<20231018205612.GK1512@pendragon.ideasonboard.com>","References":"<20230901150215.11585-1-jacopo.mondi@ideasonboard.com>\n\t<20230901150215.11585-10-jacopo.mondi@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230901150215.11585-10-jacopo.mondi@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v5 09/12] py: libcamera: Define and\n\tuse Orientation","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@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>"}}]