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 <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Paul Elder
2019-05-10 19:09:29 -04:00
parent 06387039d6
commit c1bbbd3b5b
6 changed files with 364 additions and 1 deletions
+31
View File
@@ -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__ */
+1
View File
@@ -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',