diff options
Diffstat (limited to 'include/ipa')
-rw-r--r-- | include/ipa/ipa_controls.h | 54 | ||||
-rw-r--r-- | include/ipa/meson.build | 1 |
2 files changed, 55 insertions, 0 deletions
diff --git a/include/ipa/ipa_controls.h b/include/ipa/ipa_controls.h new file mode 100644 index 00000000..de3a017b --- /dev/null +++ b/include/ipa/ipa_controls.h @@ -0,0 +1,54 @@ +/* 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__ + +#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; + uint32_t type; + uint32_t count; + uint32_t offset; +}; + +struct ipa_control_range_entry { + uint32_t id; + uint32_t type; + uint32_t offset; + uint32_t padding[1]; +}; + +union ipa_control_value_data { + bool b; + int32_t i32; + int64_t i64; +}; + +struct ipa_control_range_data { + union ipa_control_value_data min; + union ipa_control_value_data max; +}; + +#ifdef __cplusplus +} +#endif + +#endif /* __LIBCAMERA_IPA_CONTROLS_H__ */ diff --git a/include/ipa/meson.build b/include/ipa/meson.build index a0ce96ba..695a4183 100644 --- a/include/ipa/meson.build +++ b/include/ipa/meson.build @@ -1,4 +1,5 @@ libcamera_ipa_api = files([ + 'ipa_controls.h', 'ipa_interface.h', 'ipa_module_info.h', ]) |