CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
pipeline_registry.cpp
Go to the documentation of this file.
1
12
13#include <spdlog/spdlog.h>
14
16
18 spdlog::info("PipelineRegistry: Registering all pipeline executors");
19
20 registerHalideExecutors();
21 // registerAIExecutors(builder); // TODO: Enable when AI manager is ready
22
23 spdlog::info("PipelineRegistry: All pipeline executors registered");
24}
25
26void PipelineRegistry::registerHalideExecutors() {
27 spdlog::debug("PipelineRegistry: Registering Halide operation executors");
28
29 // Halide Fused Operations
31
32 if (backend == Common::MemoryType::GPU_MEMORY) {
34 return std::make_unique<OperationPipelineExecutorGPU>();
35 });
36 spdlog::trace("PipelineRegistry: Registered HalideOperation Executor (GPU)");
37 } else {
39 return std::make_unique<OperationPipelineExecutorCPU>();
40 });
41 spdlog::trace("PipelineRegistry: Registered HalideOperation Executor (CPU)");
42 }
43}
44
45void PipelineRegistry::registerAIExecutors() {
46 spdlog::debug("PipelineRegistry: Registering AI/Computer Vision executors");
47
48 // Exemple: Sky Replacement
49 // PipelineBuilder::registerCreator(PipelineType::SkyAI, []() {
50 // return std::make_unique<SkyPipelineExecutor>();
51 // });
52 // spdlog::trace("PipelineRegistry: Registered SkyAI Executor");
53}
54
55} // namespace CaptureMoment::Core::Pipeline
Common::MemoryType getProcessingBackend() const noexcept
Gets the configured processing backend.
static AppConfig & instance()
Gets the singleton instance of AppConfig.
static void registerCreator(PipelineType type, CreatorFunc creator)
Registers a creator function for a specific pipeline type.
static void registerAll()
Register all available pipeline executors.
@ GPU_MEMORY
Data is stored in GPU memory.
@ HalideOperation
Halide-based pipeline for fused pixel operations (Brightness, Contrast, etc.).
Declaration of OperationPipelineExecutorCPU (Fused Adjustment Pipeline).
Declaration of OperationPipelineExecutorGPU (Fused Adjustment Pipeline).
Central Registry and Factory for IPipelineExecutor instances.
Central registry for all pipeline executors.
CaptureMoment — footer