diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-03-25 09:36:35 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-03-25 12:21:06 +0200 |
commit | a25533089bda04daf0243eda7e316baea0737e19 (patch) | |
tree | 8997f2c22a0861e0da134a9a1c099f02bd9a7f57 /src/ipa/ipa_vimc.cpp | |
parent | 5e8933eeebcedda55d4c4e84db9b4983eecefe1b (diff) |
ipa: Move vimc to a subdirectory
Give a subdirectory to all IPA modules to make the structure of the
source tree more consistent. This will also simplify the implementation
of IPA module selection at build time.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/ipa/ipa_vimc.cpp')
-rw-r--r-- | src/ipa/ipa_vimc.cpp | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/ipa/ipa_vimc.cpp b/src/ipa/ipa_vimc.cpp deleted file mode 100644 index 4751ad91..00000000 --- a/src/ipa/ipa_vimc.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ -/* - * Copyright (C) 2019, Google Inc. - * - * ipa_vimc.cpp - Vimc Image Processing Algorithm module - */ - -#include <ipa/ipa_vimc.h> - -#include <fcntl.h> -#include <string.h> -#include <sys/stat.h> -#include <unistd.h> - -#include <iostream> - -#include <ipa/ipa_interface.h> -#include <ipa/ipa_module_info.h> - -#include "libipa/ipa_interface_wrapper.h" - -#include "log.h" - -namespace libcamera { - -LOG_DEFINE_CATEGORY(IPAVimc) - -class IPAVimc : public IPAInterface -{ -public: - IPAVimc(); - ~IPAVimc(); - - int init() override; - void configure(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 {} - void processEvent(const IPAOperationData &event) override {} - -private: - void initTrace(); - void trace(enum IPAOperationCode operation); - - int fd_; -}; - -IPAVimc::IPAVimc() - : fd_(-1) -{ - initTrace(); -} - -IPAVimc::~IPAVimc() -{ - if (fd_) - ::close(fd_); -} - -int IPAVimc::init() -{ - trace(IPAOperationInit); - - LOG(IPAVimc, Debug) << "initializing vimc IPA!"; - - return 0; -} - -void IPAVimc::initTrace() -{ - struct stat fifoStat; - int ret = stat(VIMC_IPA_FIFO_PATH, &fifoStat); - if (ret) - return; - - ret = ::open(VIMC_IPA_FIFO_PATH, O_WRONLY); - if (ret < 0) { - ret = errno; - LOG(IPAVimc, Error) << "Failed to open vimc IPA test FIFO: " - << strerror(ret); - return; - } - - fd_ = ret; -} - -void IPAVimc::trace(enum IPAOperationCode operation) -{ - if (fd_ < 0) - return; - - int ret = ::write(fd_, &operation, sizeof(operation)); - if (ret < 0) { - ret = errno; - LOG(IPAVimc, Error) << "Failed to write to vimc IPA test FIFO: " - << strerror(ret); - } -} - -/* - * External IPA module interface - */ - -extern "C" { -const struct IPAModuleInfo ipaModuleInfo = { - IPA_MODULE_API_VERSION, - 0, - "PipelineHandlerVimc", - "Dummy IPA for Vimc", - LICENSE, -}; - -struct ipa_context *ipaCreate() -{ - return new IPAInterfaceWrapper(std::make_unique<IPAVimc>()); -} -} - -} /* namespace libcamera */ |