10#include <spdlog/spdlog.h>
23 spdlog::error(
"[WorkingImageCPU_Halide::bindView]: View data pointer is null.");
31 spdlog::error(
"[WorkingImageCPU_Halide::bindView]: Failed to initialize Halide buffer.");
35 m_halide_original_buffer = Halide::Buffer<float>::make_interleaved(
40 spdlog::debug(
"[WorkingImageCPU_Halide::bindView]: Bound and initialized Halide ({}x{}, {} ch).",
virtual bool bindView(const ImageView &view)
Binds a view of the image data to this hardware worker.
ImageView m_view_data_image
The image view bound to this hardware worker.
bool bindView(const ImageView &view) override
Binds the view and initializes the zero-copy Halide buffer.
void initializeHalide(std::span< float > data, Common::ImageDim width, Common::ImageDim height, Common::ImageChan channels)
Creates a Halide buffer view over existing pixel data.
Halide::Buffer< float > m_halide_buffer
Internal Halide buffer holding the image data. Managed directly by this object. Halide::Buffer handle...
Represents a zero-copy window over contiguous image memory.
Common::ImageChan channels
std::span< float > working_data
Mutable span for processing.
std::span< const float > original_data
Const span for non-destructive reset.
implementation of of image working buffer on CPU using Halide for processing.