From c1bbbd3b5b4706a31a7505fdd9ad65786764e2d7 Mon Sep 17 00:00:00 2001 From: Paul Elder Date: Fri, 10 May 2019 19:09:29 -0400 Subject: libcamera: ipa_module: add IPA shared library module Implement a class to wrap around an IPA module shared object. For now, just load a struct IPAModuleInfo with symbol name ipaModuleInfo from an IPA module .so shared object. Also provide a public header file including the struct IPAModuleInfo, structured such that both C and C++ IPA modules are supported. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart --- include/libcamera/ipa/ipa_module_info.h | 31 +++++++++++++++++++++++++++++++ include/libcamera/meson.build | 1 + 2 files changed, 32 insertions(+) create mode 100644 include/libcamera/ipa/ipa_module_info.h (limited to 'include') diff --git a/include/libcamera/ipa/ipa_module_info.h b/include/libcamera/ipa/ipa_module_info.h new file mode 100644 index 00000000..4e0d6681 --- /dev/null +++ b/include/libcamera/ipa/ipa_module_info.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Copyright (C) 2019, Google Inc. + * + * ipa_module_info.h - Image Processing Algorithm module information + */ +#ifndef __LIBCAMERA_IPA_MODULE_INFO_H__ +#define __LIBCAMERA_IPA_MODULE_INFO_H__ + +#ifdef __cplusplus +namespace libcamera { +#endif + +struct IPAModuleInfo { + char name[256]; + unsigned int version; +}; + +#ifdef __cplusplus +extern "C" { +#endif +extern const struct IPAModuleInfo ipaModuleInfo; +#ifdef __cplusplus +}; +#endif + +#ifdef __cplusplus +}; /* namespace libcamera */ +#endif + +#endif /* __LIBCAMERA_IPA_MODULE_INFO_H__ */ diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build index 83d226ac..cb64f0ca 100644 --- a/include/libcamera/meson.build +++ b/include/libcamera/meson.build @@ -5,6 +5,7 @@ libcamera_api = files([ 'event_dispatcher.h', 'event_notifier.h', 'geometry.h', + 'ipa/ipa_module_info.h', 'libcamera.h', 'object.h', 'request.h', -- cgit v1.2.1