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 <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Tested-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Tested-by: Kate Hsuan <hpa@redhat.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2022-03-15 14:48:05 +00:00
parent b0c2484d61
commit 50dc051fc6
2 changed files with 22 additions and 62 deletions

View file

@ -29,59 +29,30 @@
* \file af.h
*/
/**
* \var kAfMinGridWidth
* \brief the minimum width of AF grid.
* The minimum grid horizontal dimensions.
/*
* 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 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.
*/
/**
* \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 {

View file

@ -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 {