summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/ipu3/imgu.h
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2021-09-07 18:09:37 +0200
committerJacopo Mondi <jacopo@jmondi.org>2021-10-15 09:30:55 +0200
commit3bd3b95a09faefd10cb34e2c8847535a51234448 (patch)
tree41ed88f042e1aa04d6bc7dedef9b461b70a39bd4 /src/libcamera/pipeline/ipu3/imgu.h
parent1e9826ff71a184911c1c46a2a1cb29410233f2d1 (diff)
libcamera: ipu3: Centralize ImgU sizes definition
The definition of several constants that describe the ImgU characteristics are spread between two files: ipu3.cpp and imgu.cpp. As the ipu3.cpp uses definitions from the imgu.cpp file, in order to remove the usage of magic numbers, it is required to move the definitions to a common header file where they are accessible to the other .cpp modules. Move all the definitions of the ImgU sizes and alignments to the ImgUDevice class as static constexpr and update their users accordingly. Cosmetic changes, no functional changes intended. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline/ipu3/imgu.h')
-rw-r--r--src/libcamera/pipeline/ipu3/imgu.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/ipu3/imgu.h b/src/libcamera/pipeline/ipu3/imgu.h
index 9d491511..2b28d912 100644
--- a/src/libcamera/pipeline/ipu3/imgu.h
+++ b/src/libcamera/pipeline/ipu3/imgu.h
@@ -23,6 +23,29 @@ struct StreamConfiguration;
class ImgUDevice
{
public:
+ static constexpr unsigned int kFilterWidth = 4;
+ static constexpr unsigned int kFilterHeight = 4;
+
+ static constexpr unsigned int kIFAlignWidth = 2;
+ static constexpr unsigned int kIFAlignHeight = 4;
+
+ static constexpr unsigned int kIFMaxCropWidth = 40;
+ static constexpr unsigned int kIFMaxCropHeight = 540;
+
+ static constexpr unsigned int kBDSAlignWidth = 2;
+ static constexpr unsigned int kBDSAlignHeight = 4;
+
+ static constexpr float kBDSSfMax = 2.5;
+ static constexpr float kBDSSfMin = 1.0;
+ static constexpr float kBDSSfStep = 0.03125;
+
+ static constexpr Size kOutputMinSize = { 2, 2 };
+ static constexpr Size kOutputMaxSize = { 4480, 34004 };
+ static constexpr unsigned int kOutputAlignWidth = 64;
+ static constexpr unsigned int kOutputAlignHeight = 4;
+ static constexpr unsigned int kOutputMarginWidth = 64;
+ static constexpr unsigned int kOutputMarginHeight = 32;
+
struct PipeConfig {
float bds_sf;
Size iif;