[{"id":18803,"web_url":"https://patchwork.libcamera.org/comment/18803/","msgid":"<YRlSUF9kpiseQmmC@pendragon.ideasonboard.com>","date":"2021-08-15T17:43:44","subject":"Re: [libcamera-devel] [PATCH v2 01/10] ipa: move libipa::Algorithm\n\tto ipa/ipu3/algorithms","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jean-Michel,\n\nThank you for the patch.\n\nOn Thu, Aug 12, 2021 at 06:52:34PM +0200, Jean-Michel Hautbois wrote:\n> The abstract Algorithm class was originally placed in libipa as an attempt to\n> define a generic algorithm container.\n> This was a little optimistic and pushed a bit far too early.\n\nAgreed. I'm looking forward to seeing IPU3 code going back to libipa in\nthe future, but it will be better done after moving forward with the\nIPU3-specific implementation.\n\n> Move the Algorithm class into the IPU3 which is the only user of the class,\n> as we adapt it to support modular algorithm components for the IPU3.\n> \n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n> ---\n>  src/ipa/ipu3/algorithms/algorithm.h | 24 ++++++++++++++++++\n>  src/ipa/ipu3/algorithms/meson.build |  4 +++\n>  src/ipa/ipu3/ipu3_agc.h             |  2 +-\n>  src/ipa/ipu3/ipu3_awb.h             |  2 +-\n>  src/ipa/ipu3/meson.build            |  4 +++\n>  src/ipa/libipa/algorithm.cpp        | 39 -----------------------------\n>  src/ipa/libipa/algorithm.h          | 24 ------------------\n>  src/ipa/libipa/meson.build          |  2 --\n>  8 files changed, 34 insertions(+), 67 deletions(-)\n>  create mode 100644 src/ipa/ipu3/algorithms/algorithm.h\n>  create mode 100644 src/ipa/ipu3/algorithms/meson.build\n>  delete mode 100644 src/ipa/libipa/algorithm.cpp\n>  delete mode 100644 src/ipa/libipa/algorithm.h\n> \n> diff --git a/src/ipa/ipu3/algorithms/algorithm.h b/src/ipa/ipu3/algorithms/algorithm.h\n> new file mode 100644\n> index 00000000..072f01c4\n> --- /dev/null\n> +++ b/src/ipa/ipu3/algorithms/algorithm.h\n\nFood for thoughts and not necessarily something to be addressed now, but\nI wonder if the algorithms subdirectory is needed.\n\n> @@ -0,0 +1,24 @@\n> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> +/*\n> + * Copyright (C) 2021, Ideas On Board\n> + *\n> + * algorithm.h - IPU3 control algorithm interface\n> + */\n> +#ifndef __LIBCAMERA_IPA_IPU3_ALGORITHM_H__\n> +#define __LIBCAMERA_IPA_IPU3_ALGORITHM_H__\n> +\n> +namespace libcamera {\n> +\n> +namespace ipa::ipu3 {\n> +\n> +class Algorithm\n> +{\n> +public:\n> +\tvirtual ~Algorithm() {}\n> +};\n> +\n> +} /* namespace ipa::ipu3 */\n> +\n> +} /* namespace libcamera */\n> +\n> +#endif /* __LIBCAMERA_IPA_IPU3_ALGORITHM_H__ */\n> diff --git a/src/ipa/ipu3/algorithms/meson.build b/src/ipa/ipu3/algorithms/meson.build\n> new file mode 100644\n> index 00000000..67148333\n> --- /dev/null\n> +++ b/src/ipa/ipu3/algorithms/meson.build\n> @@ -0,0 +1,4 @@\n> +# SPDX-License-Identifier: CC0-1.0\n> +\n> +ipu3_ipa_algorithms = files([\n> +])\n> diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h\n> index 9f3d4257..f00b98d6 100644\n> --- a/src/ipa/ipu3/ipu3_agc.h\n> +++ b/src/ipa/ipu3/ipu3_agc.h\n> @@ -13,7 +13,7 @@\n>  \n>  #include <libcamera/geometry.h>\n>  \n> -#include \"libipa/algorithm.h\"\n> +#include \"algorithms/algorithm.h\"\n>  \n>  namespace libcamera {\n>  \n> diff --git a/src/ipa/ipu3/ipu3_awb.h b/src/ipa/ipu3/ipu3_awb.h\n> index 122cf68c..ea2d4320 100644\n> --- a/src/ipa/ipu3/ipu3_awb.h\n> +++ b/src/ipa/ipu3/ipu3_awb.h\n> @@ -13,7 +13,7 @@\n>  \n>  #include <libcamera/geometry.h>\n>  \n> -#include \"libipa/algorithm.h\"\n> +#include \"algorithms/algorithm.h\"\n>  \n>  namespace libcamera {\n>  \n> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n> index b6364190..fcb27d68 100644\n> --- a/src/ipa/ipu3/meson.build\n> +++ b/src/ipa/ipu3/meson.build\n> @@ -1,5 +1,7 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n> +subdir('algorithms')\n> +\n>  ipa_name = 'ipa_ipu3'\n>  \n>  ipu3_ipa_sources = files([\n> @@ -8,6 +10,8 @@ ipu3_ipa_sources = files([\n>      'ipu3_awb.cpp',\n>  ])\n>  \n> +ipu3_ipa_sources += ipu3_ipa_algorithms\n> +\n>  mod = shared_module(ipa_name,\n>                      [ipu3_ipa_sources, libcamera_generated_ipa_headers],\n>                      name_prefix : '',\n> diff --git a/src/ipa/libipa/algorithm.cpp b/src/ipa/libipa/algorithm.cpp\n> deleted file mode 100644\n> index 930f9353..00000000\n> --- a/src/ipa/libipa/algorithm.cpp\n> +++ /dev/null\n> @@ -1,39 +0,0 @@\n> -/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> -/*\n> - * Copyright (C) 2021, Ideas On Board\n> - *\n> - * algorithm.cpp - ISP control algorithms\n> - */\n> -\n> -#include \"algorithm.h\"\n> -\n> -/**\n> - * \\file algorithm.h\n> - * \\brief Algorithm common interface\n> - */\n> -\n> -namespace libcamera {\n> -\n> -/**\n> - * \\brief The IPA namespace\n> - *\n> - * The IPA namespace groups all types specific to IPA modules. It serves as the\n> - * top-level namespace for the IPA library libipa, and also contains\n> - * module-specific namespaces for IPA modules.\n> - */\n> -namespace ipa {\n\nNot documenting the namespace may cause issues with Doxygen. Looks like\nwe need a src/ipa/libipa/libipa.cpp file for this, even if it contains\nno code. We can leverage it in the future to add more global libipa\ndocumentation, and possibly code too.\n\n> -\n> -/**\n> - * \\class Algorithm\n> - * \\brief The base class for all IPA algorithms\n> - *\n> - * The Algorithm class defines a standard interface for IPA algorithms. By\n> - * abstracting algorithms, it makes possible the implementation of generic code\n> - * to manage algorithms regardless of their specific type.\n> - */\n\nCould we keep the documentation for this class ? While it's now\nIPU3-specific, it's still the backbone of the IPA structure, and\ndocumenting the design will be useful as a reference for future IPA\nimplementations.\n\n> -\n> -Algorithm::~Algorithm() = default;\n> -\n> -} /* namespace ipa */\n> -\n> -} /* namespace libcamera */\n> diff --git a/src/ipa/libipa/algorithm.h b/src/ipa/libipa/algorithm.h\n> deleted file mode 100644\n> index 89cee4c4..00000000\n> --- a/src/ipa/libipa/algorithm.h\n> +++ /dev/null\n> @@ -1,24 +0,0 @@\n> -/* SPDX-License-Identifier: LGPL-2.1-or-later */\n> -/*\n> - * Copyright (C) 2021, Ideas On Board\n> - *\n> - * algorithm.h - ISP control algorithm interface\n> - */\n> -#ifndef __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__\n> -#define __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__\n> -\n> -namespace libcamera {\n> -\n> -namespace ipa {\n> -\n> -class Algorithm\n> -{\n> -public:\n> -\tvirtual ~Algorithm();\n> -};\n> -\n> -} /* namespace ipa */\n> -\n> -} /* namespace libcamera */\n> -\n> -#endif /* __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__ */\n> diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build\n> index 3fda7c00..2a694b1e 100644\n> --- a/src/ipa/libipa/meson.build\n> +++ b/src/ipa/libipa/meson.build\n> @@ -1,13 +1,11 @@\n>  # SPDX-License-Identifier: CC0-1.0\n>  \n>  libipa_headers = files([\n> -    'algorithm.h',\n>      'camera_sensor_helper.h',\n>      'histogram.h'\n>  ])\n>  \n>  libipa_sources = files([\n> -    'algorithm.cpp',\n>      'camera_sensor_helper.cpp',\n>      'histogram.cpp'\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 05261BD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 15 Aug 2021 17:43:52 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5A90568890;\n\tSun, 15 Aug 2021 19:43:51 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5C5AF68889\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 15 Aug 2021 19:43:50 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C726C2C5;\n\tSun, 15 Aug 2021 19:43:49 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"jO3aFQjt\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1629049430;\n\tbh=6KKlsLESejHEtCQ+3ylUwO4U3uaTTuP/l/0oLQlEvp0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=jO3aFQjtHPbZrFsbeKt7XJGBH3Va8Ygi0yvFRLkKcYpjKHpk0bt35HzPlPRVOqtVH\n\t1A+OWbqSW0T4r9l3FN+TLrWAQPdTlAkhtk6furg3w1rAcq27E2lZMxDfVNKuLyKW2O\n\tNI6aS6HHjJ4aDeOl1ach/YtFFNtySJ+RHj9TQXKI=","Date":"Sun, 15 Aug 2021 20:43:44 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<YRlSUF9kpiseQmmC@pendragon.ideasonboard.com>","References":"<20210812165243.276977-1-jeanmichel.hautbois@ideasonboard.com>\n\t<20210812165243.276977-2-jeanmichel.hautbois@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210812165243.276977-2-jeanmichel.hautbois@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 01/10] ipa: move libipa::Algorithm\n\tto ipa/ipu3/algorithms","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":18861,"web_url":"https://patchwork.libcamera.org/comment/18861/","msgid":"<29ad3324-e9d7-fcb9-d7b5-6f0ac174a5c5@ideasonboard.com>","date":"2021-08-17T06:47:12","subject":"Re: [libcamera-devel] [PATCH v2 01/10] ipa: move libipa::Algorithm\n\tto ipa/ipu3/algorithms","submitter":{"id":75,"url":"https://patchwork.libcamera.org/api/people/75/","name":"Jean-Michel Hautbois","email":"jeanmichel.hautbois@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 15/08/2021 19:43, Laurent Pinchart wrote:\n> Hi Jean-Michel,\n> \n> Thank you for the patch.\n> \n> On Thu, Aug 12, 2021 at 06:52:34PM +0200, Jean-Michel Hautbois wrote:\n>> The abstract Algorithm class was originally placed in libipa as an attempt to\n>> define a generic algorithm container.\n>> This was a little optimistic and pushed a bit far too early.\n> \n> Agreed. I'm looking forward to seeing IPU3 code going back to libipa in\n> the future, but it will be better done after moving forward with the\n> IPU3-specific implementation.\n> \n>> Move the Algorithm class into the IPU3 which is the only user of the class,\n>> as we adapt it to support modular algorithm components for the IPU3.\n>>\n>> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n>> Reviewed-by: Kieran Bingham kieran.bingham@ideasonboard.com\n>> ---\n>>  src/ipa/ipu3/algorithms/algorithm.h | 24 ++++++++++++++++++\n>>  src/ipa/ipu3/algorithms/meson.build |  4 +++\n>>  src/ipa/ipu3/ipu3_agc.h             |  2 +-\n>>  src/ipa/ipu3/ipu3_awb.h             |  2 +-\n>>  src/ipa/ipu3/meson.build            |  4 +++\n>>  src/ipa/libipa/algorithm.cpp        | 39 -----------------------------\n>>  src/ipa/libipa/algorithm.h          | 24 ------------------\n>>  src/ipa/libipa/meson.build          |  2 --\n>>  8 files changed, 34 insertions(+), 67 deletions(-)\n>>  create mode 100644 src/ipa/ipu3/algorithms/algorithm.h\n>>  create mode 100644 src/ipa/ipu3/algorithms/meson.build\n>>  delete mode 100644 src/ipa/libipa/algorithm.cpp\n>>  delete mode 100644 src/ipa/libipa/algorithm.h\n>>\n>> diff --git a/src/ipa/ipu3/algorithms/algorithm.h b/src/ipa/ipu3/algorithms/algorithm.h\n>> new file mode 100644\n>> index 00000000..072f01c4\n>> --- /dev/null\n>> +++ b/src/ipa/ipu3/algorithms/algorithm.h\n> \n> Food for thoughts and not necessarily something to be addressed now, but\n> I wonder if the algorithms subdirectory is needed.\n> \n>> @@ -0,0 +1,24 @@\n>> +/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> +/*\n>> + * Copyright (C) 2021, Ideas On Board\n>> + *\n>> + * algorithm.h - IPU3 control algorithm interface\n>> + */\n>> +#ifndef __LIBCAMERA_IPA_IPU3_ALGORITHM_H__\n>> +#define __LIBCAMERA_IPA_IPU3_ALGORITHM_H__\n>> +\n>> +namespace libcamera {\n>> +\n>> +namespace ipa::ipu3 {\n>> +\n>> +class Algorithm\n>> +{\n>> +public:\n>> +\tvirtual ~Algorithm() {}\n>> +};\n>> +\n>> +} /* namespace ipa::ipu3 */\n>> +\n>> +} /* namespace libcamera */\n>> +\n>> +#endif /* __LIBCAMERA_IPA_IPU3_ALGORITHM_H__ */\n>> diff --git a/src/ipa/ipu3/algorithms/meson.build b/src/ipa/ipu3/algorithms/meson.build\n>> new file mode 100644\n>> index 00000000..67148333\n>> --- /dev/null\n>> +++ b/src/ipa/ipu3/algorithms/meson.build\n>> @@ -0,0 +1,4 @@\n>> +# SPDX-License-Identifier: CC0-1.0\n>> +\n>> +ipu3_ipa_algorithms = files([\n>> +])\n>> diff --git a/src/ipa/ipu3/ipu3_agc.h b/src/ipa/ipu3/ipu3_agc.h\n>> index 9f3d4257..f00b98d6 100644\n>> --- a/src/ipa/ipu3/ipu3_agc.h\n>> +++ b/src/ipa/ipu3/ipu3_agc.h\n>> @@ -13,7 +13,7 @@\n>>  \n>>  #include <libcamera/geometry.h>\n>>  \n>> -#include \"libipa/algorithm.h\"\n>> +#include \"algorithms/algorithm.h\"\n>>  \n>>  namespace libcamera {\n>>  \n>> diff --git a/src/ipa/ipu3/ipu3_awb.h b/src/ipa/ipu3/ipu3_awb.h\n>> index 122cf68c..ea2d4320 100644\n>> --- a/src/ipa/ipu3/ipu3_awb.h\n>> +++ b/src/ipa/ipu3/ipu3_awb.h\n>> @@ -13,7 +13,7 @@\n>>  \n>>  #include <libcamera/geometry.h>\n>>  \n>> -#include \"libipa/algorithm.h\"\n>> +#include \"algorithms/algorithm.h\"\n>>  \n>>  namespace libcamera {\n>>  \n>> diff --git a/src/ipa/ipu3/meson.build b/src/ipa/ipu3/meson.build\n>> index b6364190..fcb27d68 100644\n>> --- a/src/ipa/ipu3/meson.build\n>> +++ b/src/ipa/ipu3/meson.build\n>> @@ -1,5 +1,7 @@\n>>  # SPDX-License-Identifier: CC0-1.0\n>>  \n>> +subdir('algorithms')\n>> +\n>>  ipa_name = 'ipa_ipu3'\n>>  \n>>  ipu3_ipa_sources = files([\n>> @@ -8,6 +10,8 @@ ipu3_ipa_sources = files([\n>>      'ipu3_awb.cpp',\n>>  ])\n>>  \n>> +ipu3_ipa_sources += ipu3_ipa_algorithms\n>> +\n>>  mod = shared_module(ipa_name,\n>>                      [ipu3_ipa_sources, libcamera_generated_ipa_headers],\n>>                      name_prefix : '',\n>> diff --git a/src/ipa/libipa/algorithm.cpp b/src/ipa/libipa/algorithm.cpp\n>> deleted file mode 100644\n>> index 930f9353..00000000\n>> --- a/src/ipa/libipa/algorithm.cpp\n>> +++ /dev/null\n>> @@ -1,39 +0,0 @@\n>> -/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> -/*\n>> - * Copyright (C) 2021, Ideas On Board\n>> - *\n>> - * algorithm.cpp - ISP control algorithms\n>> - */\n>> -\n>> -#include \"algorithm.h\"\n>> -\n>> -/**\n>> - * \\file algorithm.h\n>> - * \\brief Algorithm common interface\n>> - */\n>> -\n>> -namespace libcamera {\n>> -\n>> -/**\n>> - * \\brief The IPA namespace\n>> - *\n>> - * The IPA namespace groups all types specific to IPA modules. It serves as the\n>> - * top-level namespace for the IPA library libipa, and also contains\n>> - * module-specific namespaces for IPA modules.\n>> - */\n>> -namespace ipa {\n> \n> Not documenting the namespace may cause issues with Doxygen. Looks like\n> we need a src/ipa/libipa/libipa.cpp file for this, even if it contains\n> no code. We can leverage it in the future to add more global libipa\n> documentation, and possibly code too.\n> \n\nOK, I will create an empty libipa.cpp file with the ipa namespace\ndocumented.\n\n>> -\n>> -/**\n>> - * \\class Algorithm\n>> - * \\brief The base class for all IPA algorithms\n>> - *\n>> - * The Algorithm class defines a standard interface for IPA algorithms. By\n>> - * abstracting algorithms, it makes possible the implementation of generic code\n>> - * to manage algorithms regardless of their specific type.\n>> - */\n> \n> Could we keep the documentation for this class ? While it's now\n> IPU3-specific, it's still the backbone of the IPA structure, and\n> documenting the design will be useful as a reference for future IPA\n> implementations.\n> \n\nSure. It means that I need to create a algorithm.cpp file then ;-) ?\n\n>> -\n>> -Algorithm::~Algorithm() = default;\n>> -\n>> -} /* namespace ipa */\n>> -\n>> -} /* namespace libcamera */\n>> diff --git a/src/ipa/libipa/algorithm.h b/src/ipa/libipa/algorithm.h\n>> deleted file mode 100644\n>> index 89cee4c4..00000000\n>> --- a/src/ipa/libipa/algorithm.h\n>> +++ /dev/null\n>> @@ -1,24 +0,0 @@\n>> -/* SPDX-License-Identifier: LGPL-2.1-or-later */\n>> -/*\n>> - * Copyright (C) 2021, Ideas On Board\n>> - *\n>> - * algorithm.h - ISP control algorithm interface\n>> - */\n>> -#ifndef __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__\n>> -#define __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__\n>> -\n>> -namespace libcamera {\n>> -\n>> -namespace ipa {\n>> -\n>> -class Algorithm\n>> -{\n>> -public:\n>> -\tvirtual ~Algorithm();\n>> -};\n>> -\n>> -} /* namespace ipa */\n>> -\n>> -} /* namespace libcamera */\n>> -\n>> -#endif /* __LIBCAMERA_IPA_LIBIPA_ALGORITHM_H__ */\n>> diff --git a/src/ipa/libipa/meson.build b/src/ipa/libipa/meson.build\n>> index 3fda7c00..2a694b1e 100644\n>> --- a/src/ipa/libipa/meson.build\n>> +++ b/src/ipa/libipa/meson.build\n>> @@ -1,13 +1,11 @@\n>>  # SPDX-License-Identifier: CC0-1.0\n>>  \n>>  libipa_headers = files([\n>> -    'algorithm.h',\n>>      'camera_sensor_helper.h',\n>>      'histogram.h'\n>>  ])\n>>  \n>>  libipa_sources = files([\n>> -    'algorithm.cpp',\n>>      'camera_sensor_helper.cpp',\n>>      'histogram.cpp'\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 3CB1EBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 17 Aug 2021 06:47:17 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AEC7968894;\n\tTue, 17 Aug 2021 08:47:16 +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 BD8486025B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 17 Aug 2021 08:47:14 +0200 (CEST)","from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:6c91:96c9:6cbe:ca80])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4A0332C5;\n\tTue, 17 Aug 2021 08:47:14 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"TbaeLZzE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1629182834;\n\tbh=E+XXWuRht0N4AmugwGD8aR3JqfCV2OoH6+jdzlHgp7c=;\n\th=Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=TbaeLZzEJZQlZUOKGWEEixqz8J9dbR6NHn6Ux75c4pSdgEs1rzTrCug0ulFmKtqNJ\n\tZAG4+LLJmtnxZZ+Ofkt1BpoxmHT5WQj1utDpg41rw3z9jrU3athMMk1v4fMSw/k2AP\n\t9HCunnwdgO7lzHTzh+hMlamuH8uiQaTFps6A75R4=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","References":"<20210812165243.276977-1-jeanmichel.hautbois@ideasonboard.com>\n\t<20210812165243.276977-2-jeanmichel.hautbois@ideasonboard.com>\n\t<YRlSUF9kpiseQmmC@pendragon.ideasonboard.com>","From":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<29ad3324-e9d7-fcb9-d7b5-6f0ac174a5c5@ideasonboard.com>","Date":"Tue, 17 Aug 2021 08:47:12 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.11.0","MIME-Version":"1.0","In-Reply-To":"<YRlSUF9kpiseQmmC@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 01/10] ipa: move libipa::Algorithm\n\tto ipa/ipu3/algorithms","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>"}}]