summaryrefslogtreecommitdiff
path: root/include/libcamera/ipa/ipa_controls.h
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-05-15 19:01:30 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-05-16 03:38:47 +0300
commitf934fd1cb9371dc49e32aee061284a2dadd8ea89 (patch)
treef5d48eb40eff616cf206ca66191b6b8a9984c48c /include/libcamera/ipa/ipa_controls.h
parent93e72b695e477ac1efc22a0bdddb177199cf2fb9 (diff)
libcamera: Move IPA headers from include/ipa/ to include/libcamera/ipa/
The IPA headers are installed into $prefix/include/libcamera/ipa/, but are located in the source tree in include/ipa/. This requires files within libcamera to include them with #include <ipa/foo.h> while a third party IPA would need to use #include <libcamera/ipa/foo.h> Not only is this inconsistent, it can create issues later if IPA headers need to include each other, as the first form of include directive wouldn't be valid once the headers are installed. Fix the problem by moving the IPA headers to include/libcamera/ipa/. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'include/libcamera/ipa/ipa_controls.h')
-rw-r--r--include/libcamera/ipa/ipa_controls.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/libcamera/ipa/ipa_controls.h b/include/libcamera/ipa/ipa_controls.h
new file mode 100644
index 00000000..6d3bf279
--- /dev/null
+++ b/include/libcamera/ipa/ipa_controls.h
@@ -0,0 +1,47 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ * ipa_controls.h - IPA Control handling
+ */
+#ifndef __LIBCAMERA_IPA_CONTROLS_H__
+#define __LIBCAMERA_IPA_CONTROLS_H__
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define IPA_CONTROLS_FORMAT_VERSION 1
+
+struct ipa_controls_header {
+ uint32_t version;
+ uint32_t handle;
+ uint32_t entries;
+ uint32_t size;
+ uint32_t data_offset;
+ uint32_t reserved[3];
+};
+
+struct ipa_control_value_entry {
+ uint32_t id;
+ uint8_t type;
+ uint8_t is_array;
+ uint16_t count;
+ uint32_t offset;
+ uint32_t padding[1];
+};
+
+struct ipa_control_info_entry {
+ uint32_t id;
+ uint32_t type;
+ uint32_t offset;
+ uint32_t padding[1];
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __LIBCAMERA_IPA_CONTROLS_H__ */