CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
i_halide_pipeline_executor.h
Go to the documentation of this file.
1
17#pragma once
18
19
20#include "Halide.h"
21
22namespace CaptureMoment::Core {
23
24namespace Pipeline {
25
36public:
40 virtual ~IHalidePipelineExecutor() = default;
41
42protected:
51 [[nodiscard]] virtual bool executeOnHalideBuffer(Halide::Buffer<float>& input_buffer, Halide::Buffer<float>& output_buffer) = 0;
52
53protected:
62 : m_input(Halide::Float(32), 3){}
63
76 Halide::ImageParam m_input;
77};
78
79} // namespace Pipeline
80
81} // namespace CaptureMoment::Core
Base class for Halide executors providing shared 4-channel input parameter.
virtual ~IHalidePipelineExecutor()=default
Virtual destructor.
Halide::ImageParam m_input
The shared Halide Input Parameter.
virtual bool executeOnHalideBuffer(Halide::Buffer< float > &input_buffer, Halide::Buffer< float > &output_buffer)=0
Executes the compiled pipeline directly on a Halide buffer.
Manages the lifecycle of a single IWorkingImage instance.
CaptureMoment — footer