CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
image_processing.h
Go to the documentation of this file.
1
19#pragma once
20
21// ============================================================
22// 1. Interfaces
23// ============================================================
24
30
35
36// ============================================================
37// 2. Concrete Implementations
38// ============================================================
39
40// --- Base Classes Halide ---
42
43// --- CPU Implementations ---
46
51
52
57
58// --- GPU Implementations ---
63
64// --- Common Implementations ---
69
75
76// ============================================================
77// 3. Factories
78// ============================================================
79
85
86// ============================================================
87// 4. Deciders
88// ============================================================
89
95
96
97// ============================================================
98// 5. Contexts
99// ============================================================
100
105
106// ============================================================
107// 6. Registration
108// ============================================================
Concrete implementation of IBackendDecider that chooses backend based on performance benchmarks.
Abstract interface for deciding the hardware backend (CPU or GPU) for image processing.
Abstract interface representing an image used as a working buffer, abstracting hardware location.
Lightweight, non-owning view over image memory and its geometry.
Manages the lifecycle of a single WorkingImage instance and its associated data.
Image working buffers stored on the CPU.
Default concrete implementation of IWorkingImageCPU using standard CPU memory.
implementation of of image working buffer on CPU using Halide for processing.
Base class providing raw buffer storage and metadata for all working image implementations.
Factory for creating IWorkingImageHardware instances using a Registry Pattern.
Image working buffers stored on the GPU.
Concrete implementation of image working buffer on GPU using Halide for processing.
Base class for Halide-based working image implementations.
Declaration of backend registration function.
CaptureMoment — footer