[libcamera-devel,1/3] ipa: ipu3: af: Move constants to implementation
diff mbox series

Message ID 20220315175345.479951-2-kieran.bingham@ideasonboard.com
State Superseded
Delegated to: Kieran Bingham
Headers show
Series
  • ipa: ipu3: af: Small improvements
Related show

Commit Message

Kieran Bingham March 15, 2022, 5:53 p.m. UTC
A selection of constants are imported from ChromiumOS.

Move these out of the header, and simplify their documentation.  Further
more, add a direct reference to the location they were obtained from.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/ipa/ipu3/algorithms/af.cpp | 73 ++++++++++------------------------
 src/ipa/ipu3/algorithms/af.h   | 11 -----
 2 files changed, 22 insertions(+), 62 deletions(-)

Comments

Laurent Pinchart March 23, 2022, 1:19 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Tue, Mar 15, 2022 at 05:53:43PM +0000, Kieran Bingham via libcamera-devel wrote:
> A selection of constants are imported from ChromiumOS.
> 
> Move these out of the header, and simplify their documentation.  Further
> more, add a direct reference to the location they were obtained from.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  src/ipa/ipu3/algorithms/af.cpp | 73 ++++++++++------------------------
>  src/ipa/ipu3/algorithms/af.h   | 11 -----
>  2 files changed, 22 insertions(+), 62 deletions(-)
> 
> diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
> index 0170a3728892..3cedf8cbd687 100644
> --- a/src/ipa/ipu3/algorithms/af.cpp
> +++ b/src/ipa/ipu3/algorithms/af.cpp
> @@ -29,59 +29,30 @@
>   * \file af.h
>   */
>  
> -/**
> - * \var kAfMinGridWidth
> - * \brief the minimum width of AF grid.
> - * The minimum grid horizontal dimensions.
> - */
> -
> -/**
> - * \var kAfMinGridHeight
> - * \brief the minimum height of AF grid.
> - * The minimum grid vertical dimensions.
> - */
> -
> -/**
> - * \var kAfMaxGridWidth
> - * \brief the maximum width of AF grid.
> - * The maximum grid horizontal dimensions.
> - */
> -
> -/**
> - * \var kAfMaxGridHeight
> - * \brief The maximum height of AF grid.
> - * The maximum grid vertical dimensions.
> - */
> -
> -/**
> - * \var kAfMinGridBlockWidth
> - * \brief The minimum block size of the width.
> - * The minimum value of Log2 of the width of the grid cell.
> - */
> -
> -/**
> - * \var kAfMinGridBlockHeight
> - * \brief The minimum block size of the height.
> - * The minimum value of Log2 of the height of the grid cell.
> - */
> -
> -/**
> - * \def kAfMaxGridBlockWidth
> - * \brief The maximum block size of the width.
> - * The maximum value of Log2 of the width of the grid cell.
> - */
> -
> -/**
> - * \var kAfMaxGridBlockHeight
> - * \brief The maximum block size of the height.
> - * The maximum value of Log2 of the height of the grid cell.
> +/*
> + * Static variables from ChromiumOS Intel Camera HAL and ia_imaging library:
> + * - https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/master/hal/intel/psl/ipu3/statsConverter/ipu3-stats.h
> + * - https://chromium.googlesource.com/chromiumos/platform/camera/+/refs/heads/main/hal/intel/ipu3/include/ia_imaging/af_public.h
>   */
>  
> -/**
> - * \var kAfDefaultHeightPerSlice
> - * \brief The default number of blocks in vertical axis per slice.
> - * The number of blocks in vertical axis per slice.
> - */
> +/** The minimum horizontal grid dimensions. */

Should it be s/dimensions/dimension/ ? Same below.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +static constexpr uint8_t kAfMinGridWidth = 16;
> +/** The minimum vertical grid dimensions. */
> +static constexpr uint8_t kAfMinGridHeight = 16;
> +/** The maximum horizontal grid dimensions. */
> +static constexpr uint8_t kAfMaxGridWidth = 32;
> +/** The maximum vertical grid dimensions. */
> +static constexpr uint8_t kAfMaxGridHeight = 24;
> +/** The minimum value of Log2 of the width of the grid cell. */
> +static constexpr uint16_t kAfMinGridBlockWidth = 4;
> +/** The minimum value of Log2 of the height of the grid cell. */
> +static constexpr uint16_t kAfMinGridBlockHeight = 3;
> +/** The maximum value of Log2 of the width of the grid cell. */
> +static constexpr uint16_t kAfMaxGridBlockWidth = 6;
> +/** The maximum value of Log2 of the height of the grid cell. */
> +static constexpr uint16_t kAfMaxGridBlockHeight = 6;
> +/** The number of blocks in vertical axis per slice. */
> +static constexpr uint16_t kAfDefaultHeightPerSlice = 2;
>  
>  namespace libcamera {
>  
> diff --git a/src/ipa/ipu3/algorithms/af.h b/src/ipa/ipu3/algorithms/af.h
> index 13c7e0e877fd..906f2843dd49 100644
> --- a/src/ipa/ipu3/algorithms/af.h
> +++ b/src/ipa/ipu3/algorithms/af.h
> @@ -15,17 +15,6 @@
>  
>  #include "algorithm.h"
>  
> -/* Static variables from repo of chromium */
> -static constexpr uint8_t kAfMinGridWidth = 16;
> -static constexpr uint8_t kAfMinGridHeight = 16;
> -static constexpr uint8_t kAfMaxGridWidth = 32;
> -static constexpr uint8_t kAfMaxGridHeight = 24;
> -static constexpr uint16_t kAfMinGridBlockWidth = 4;
> -static constexpr uint16_t kAfMinGridBlockHeight = 3;
> -static constexpr uint16_t kAfMaxGridBlockWidth = 6;
> -static constexpr uint16_t kAfMaxGridBlockHeight = 6;
> -static constexpr uint16_t kAfDefaultHeightPerSlice = 2;
> -
>  namespace libcamera {
>  
>  namespace ipa::ipu3::algorithms {

Patch
diff mbox series

diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp
index 0170a3728892..3cedf8cbd687 100644
--- a/src/ipa/ipu3/algorithms/af.cpp
+++ b/src/ipa/ipu3/algorithms/af.cpp
@@ -29,59 +29,30 @@ 
  * \file af.h
  */
 
-/**
- * \var kAfMinGridWidth
- * \brief the minimum width of AF grid.
- * The minimum grid horizontal dimensions.
- */
-
-/**
- * \var kAfMinGridHeight
- * \brief the minimum height of AF grid.
- * The minimum grid vertical dimensions.
- */
-
-/**
- * \var kAfMaxGridWidth
- * \brief the maximum width of AF grid.
- * The maximum grid horizontal dimensions.
- */
-
-/**
- * \var kAfMaxGridHeight
- * \brief The maximum height of AF grid.
- * The maximum grid vertical dimensions.
- */
-
-/**
- * \var kAfMinGridBlockWidth
- * \brief The minimum block size of the width.
- * The minimum value of Log2 of the width of the grid cell.
- */
-
-/**
- * \var kAfMinGridBlockHeight
- * \brief The minimum block size of the height.
- * The minimum value of Log2 of the height of the grid cell.
- */
-
-/**
- * \def kAfMaxGridBlockWidth
- * \brief The maximum block size of the width.
- * The maximum value of Log2 of the width of the grid cell.
- */
-
-/**
- * \var kAfMaxGridBlockHeight
- * \brief The maximum block size of the height.
- * The maximum value of Log2 of the height of the grid cell.
+/*
+ * Static variables from ChromiumOS Intel Camera HAL and ia_imaging library:
+ * - https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/master/hal/intel/psl/ipu3/statsConverter/ipu3-stats.h
+ * - https://chromium.googlesource.com/chromiumos/platform/camera/+/refs/heads/main/hal/intel/ipu3/include/ia_imaging/af_public.h
  */
 
-/**
- * \var kAfDefaultHeightPerSlice
- * \brief The default number of blocks in vertical axis per slice.
- * The number of blocks in vertical axis per slice.
- */
+/** The minimum horizontal grid dimensions. */
+static constexpr uint8_t kAfMinGridWidth = 16;
+/** The minimum vertical grid dimensions. */
+static constexpr uint8_t kAfMinGridHeight = 16;
+/** The maximum horizontal grid dimensions. */
+static constexpr uint8_t kAfMaxGridWidth = 32;
+/** The maximum vertical grid dimensions. */
+static constexpr uint8_t kAfMaxGridHeight = 24;
+/** The minimum value of Log2 of the width of the grid cell. */
+static constexpr uint16_t kAfMinGridBlockWidth = 4;
+/** The minimum value of Log2 of the height of the grid cell. */
+static constexpr uint16_t kAfMinGridBlockHeight = 3;
+/** The maximum value of Log2 of the width of the grid cell. */
+static constexpr uint16_t kAfMaxGridBlockWidth = 6;
+/** The maximum value of Log2 of the height of the grid cell. */
+static constexpr uint16_t kAfMaxGridBlockHeight = 6;
+/** The number of blocks in vertical axis per slice. */
+static constexpr uint16_t kAfDefaultHeightPerSlice = 2;
 
 namespace libcamera {
 
diff --git a/src/ipa/ipu3/algorithms/af.h b/src/ipa/ipu3/algorithms/af.h
index 13c7e0e877fd..906f2843dd49 100644
--- a/src/ipa/ipu3/algorithms/af.h
+++ b/src/ipa/ipu3/algorithms/af.h
@@ -15,17 +15,6 @@ 
 
 #include "algorithm.h"
 
-/* Static variables from repo of chromium */
-static constexpr uint8_t kAfMinGridWidth = 16;
-static constexpr uint8_t kAfMinGridHeight = 16;
-static constexpr uint8_t kAfMaxGridWidth = 32;
-static constexpr uint8_t kAfMaxGridHeight = 24;
-static constexpr uint16_t kAfMinGridBlockWidth = 4;
-static constexpr uint16_t kAfMinGridBlockHeight = 3;
-static constexpr uint16_t kAfMaxGridBlockWidth = 6;
-static constexpr uint16_t kAfMaxGridBlockHeight = 6;
-static constexpr uint16_t kAfDefaultHeightPerSlice = 2;
-
 namespace libcamera {
 
 namespace ipa::ipu3::algorithms {