From 50dc051fc62bfd5367c55d99384c4c99f0c03bdd Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Tue, 15 Mar 2022 14:48:05 +0000 Subject: ipa: ipu3: af: Move constants to implementation 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. Reviewed-by: Laurent Pinchart Reviewed-by: Jean-Michel Hautbois Tested-by: Jean-Michel Hautbois Tested-by: Kate Hsuan Signed-off-by: Kieran Bingham --- 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 a33c229a..2902f2d5 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 dimension. */ +static constexpr uint8_t kAfMinGridWidth = 16; +/** The minimum vertical grid dimension. */ +static constexpr uint8_t kAfMinGridHeight = 16; +/** The maximum horizontal grid dimension. */ +static constexpr uint8_t kAfMaxGridWidth = 32; +/** The maximum vertical grid dimension. */ +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 13c7e0e8..906f2843 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 { -- cgit v1.2.1