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>
51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
|
/*
|
|
* Copyright (C) 2019, Google Inc.
|
|
*
|
|
* ipa_context_wrapper.h - Image Processing Algorithm context wrapper
|
|
*/
|
|
#ifndef __LIBCAMERA_IPA_CONTEXT_WRAPPER_H__
|
|
#define __LIBCAMERA_IPA_CONTEXT_WRAPPER_H__
|
|
|
|
#include <libcamera/ipa/ipa_interface.h>
|
|
|
|
#include "libcamera/internal/control_serializer.h"
|
|
|
|
namespace libcamera {
|
|
|
|
class IPAContextWrapper final : public IPAInterface
|
|
{
|
|
public:
|
|
IPAContextWrapper(struct ipa_context *context);
|
|
~IPAContextWrapper();
|
|
|
|
int init(const IPASettings &settings) override;
|
|
int start() override;
|
|
void stop() override;
|
|
void configure(const CameraSensorInfo &sensorInfo,
|
|
const std::map<unsigned int, IPAStream> &streamConfig,
|
|
const std::map<unsigned int, const ControlInfoMap &> &entityControls) override;
|
|
|
|
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
|
|
void unmapBuffers(const std::vector<unsigned int> &ids) override;
|
|
|
|
virtual void processEvent(const IPAOperationData &data) override;
|
|
|
|
private:
|
|
static void queue_frame_action(void *ctx, unsigned int frame,
|
|
struct ipa_operation_data &data);
|
|
static const struct ipa_callback_ops callbacks_;
|
|
|
|
void doQueueFrameAction(unsigned int frame,
|
|
const IPAOperationData &data);
|
|
|
|
struct ipa_context *ctx_;
|
|
IPAInterface *intf_;
|
|
|
|
ControlSerializer serializer_;
|
|
};
|
|
|
|
} /* namespace libcamera */
|
|
|
|
#endif /* __LIBCAMERA_IPA_CONTEXT_WRAPPER_H__ */
|