13#include <spdlog/spdlog.h>
18 spdlog::info(
"PipelineRegistry: Registering all pipeline executors");
20 registerHalideExecutors();
23 spdlog::info(
"PipelineRegistry: All pipeline executors registered");
26void PipelineRegistry::registerHalideExecutors() {
27 spdlog::debug(
"PipelineRegistry: Registering Halide operation executors");
34 return std::make_unique<OperationPipelineExecutorGPU>();
36 spdlog::trace(
"PipelineRegistry: Registered HalideOperation Executor (GPU)");
39 return std::make_unique<OperationPipelineExecutorCPU>();
41 spdlog::trace(
"PipelineRegistry: Registered HalideOperation Executor (CPU)");
45void PipelineRegistry::registerAIExecutors() {
46 spdlog::debug(
"PipelineRegistry: Registering AI/Computer Vision executors");
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.