diff options
Diffstat (limited to 'src/ipa/vimc')
-rw-r--r-- | src/ipa/vimc/data/meson.build | 3 | ||||
-rw-r--r-- | src/ipa/vimc/meson.build | 2 | ||||
-rw-r--r-- | src/ipa/vimc/vimc.cpp | 28 |
3 files changed, 26 insertions, 7 deletions
diff --git a/src/ipa/vimc/data/meson.build b/src/ipa/vimc/data/meson.build index 42ec651c..628d6a29 100644 --- a/src/ipa/vimc/data/meson.build +++ b/src/ipa/vimc/data/meson.build @@ -5,4 +5,5 @@ conf_files = files([ ]) install_data(conf_files, - install_dir : ipa_data_dir / 'vimc') + install_dir : ipa_data_dir / 'vimc', + install_tag : 'runtime') diff --git a/src/ipa/vimc/meson.build b/src/ipa/vimc/meson.build index ecbeee13..264a2d9a 100644 --- a/src/ipa/vimc/meson.build +++ b/src/ipa/vimc/meson.build @@ -21,3 +21,5 @@ if ipa_sign_module endif subdir('data') + +ipa_names += ipa_name diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp index 85afb279..ebd63fa6 100644 --- a/src/ipa/vimc/vimc.cpp +++ b/src/ipa/vimc/vimc.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2019, Google Inc. * - * ipa_vimc.cpp - Vimc Image Processing Algorithm module + * Vimc Image Processing Algorithm module */ #include <libcamera/ipa/vimc_ipa_interface.h> @@ -31,7 +31,10 @@ public: IPAVimc(); ~IPAVimc(); - int init(const IPASettings &settings) override; + int init(const IPASettings &settings, + const ipa::vimc::IPAOperationCode code, + const Flags<ipa::vimc::TestFlag> inFlags, + Flags<ipa::vimc::TestFlag> *outFlags) override; int start() override; void stop() override; @@ -66,7 +69,10 @@ IPAVimc::~IPAVimc() ::close(fd_); } -int IPAVimc::init(const IPASettings &settings) +int IPAVimc::init(const IPASettings &settings, + const ipa::vimc::IPAOperationCode code, + const Flags<ipa::vimc::TestFlag> inFlags, + Flags<ipa::vimc::TestFlag> *outFlags) { trace(ipa::vimc::IPAOperationInit); @@ -74,6 +80,15 @@ int IPAVimc::init(const IPASettings &settings) << "initializing vimc IPA with configuration file " << settings.configurationFile; + LOG(IPAVimc, Debug) << "Got opcode " << code; + + LOG(IPAVimc, Debug) + << "Flag 2 was " + << (inFlags & ipa::vimc::TestFlag::Flag2 ? "" : "not ") + << "set"; + + *outFlags |= ipa::vimc::TestFlag::Flag1; + File conf(settings.configurationFile); if (!conf.open(File::OpenModeFlag::ReadOnly)) { LOG(IPAVimc, Error) << "Failed to open configuration file"; @@ -142,7 +157,8 @@ void IPAVimc::fillParamsBuffer([[maybe_unused]] uint32_t frame, uint32_t bufferI return; } - paramsBufferReady.emit(bufferId); + Flags<ipa::vimc::TestFlag> flags; + paramsBufferReady.emit(bufferId, flags); } void IPAVimc::initTrace() @@ -152,7 +168,7 @@ void IPAVimc::initTrace() if (ret) return; - ret = ::open(ipa::vimc::VimcIPAFIFOPath.c_str(), O_WRONLY); + ret = ::open(ipa::vimc::VimcIPAFIFOPath.c_str(), O_WRONLY | O_CLOEXEC); if (ret < 0) { ret = errno; LOG(IPAVimc, Error) << "Failed to open vimc IPA test FIFO: " @@ -184,7 +200,7 @@ extern "C" { const struct IPAModuleInfo ipaModuleInfo = { IPA_MODULE_API_VERSION, 0, - "PipelineHandlerVimc", + "vimc", "vimc", }; |