Files
external_libcamera/include/libcamera/internal/ipa_module.h
Laurent Pinchart e239ded90b libcamera: Declare functions before variables in class definitions
The preferred coding style in libcamera is to declare private functions
before private variables in class definitions. This rule isn't followed
by some of the internal classes. Update them accordingly.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <email@uajain.com>
2020-06-02 19:26:22 +03:00

62 lines
1.2 KiB
C++

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* ipa_module.h - Image Processing Algorithm module
*/
#ifndef __LIBCAMERA_IPA_MODULE_H__
#define __LIBCAMERA_IPA_MODULE_H__
#include <stdint.h>
#include <string>
#include <vector>
#include <libcamera/ipa/ipa_interface.h>
#include <libcamera/ipa/ipa_module_info.h>
#include "libcamera/internal/log.h"
#include "libcamera/internal/pipeline_handler.h"
namespace libcamera {
class IPAModule : public Loggable
{
public:
explicit IPAModule(const std::string &libPath);
~IPAModule();
bool isValid() const;
const struct IPAModuleInfo &info() const;
const std::vector<uint8_t> signature() const;
const std::string &path() const;
bool load();
struct ipa_context *createContext();
bool match(PipelineHandler *pipe,
uint32_t minVersion, uint32_t maxVersion) const;
protected:
std::string logPrefix() const override;
private:
int loadIPAModuleInfo();
struct IPAModuleInfo info_;
std::vector<uint8_t> signature_;
std::string libPath_;
bool valid_;
bool loaded_;
void *dlHandle_;
typedef struct ipa_context *(*IPAIntfFactory)(void);
IPAIntfFactory ipaCreate_;
};
} /* namespace libcamera */
#endif /* __LIBCAMERA_IPA_MODULE_H__ */