CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
i_operation_fusion_logic.h
Go to the documentation of this file.
1
8#pragma once
9
10#include "Halide.h"
12namespace CaptureMoment::Core {
13
14namespace Operations {
15
25public:
26 virtual ~IOperationFusionLogic() = default;
27
54 [[nodiscard]] virtual Halide::Func appendToFusedPipeline(
55 const Halide::Func& input_func,
56 const Halide::Var& x,
57 const Halide::Var& y,
58 const Halide::Var& c,
59 const Halide::Param<float>& param
60 ) const = 0;
61};
62
63} // namespace Operations
64
65} // namespace CaptureMoment::Core
Interface for providing the Halide fusion logic of an operation.
virtual Halide::Func appendToFusedPipeline(const Halide::Func &input_func, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c, const Halide::Param< float > &param) const =0
Appends this operation's logic to a fused Halide pipeline. This method is used by the PipelineBuilder...
Abstract base class for all image processing algorithms.
Definition i_operation.h:36
Interface for image processing operations.
Manages the lifecycle of a single IWorkingImage instance.
CaptureMoment — footer