Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
tiling.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2011-2020 darktable developers.
4
5 darktable is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 darktable is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with darktable. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "develop/develop.h"
22#include "develop/imageop.h"
23#include "develop/pixelpipe.h"
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29typedef struct dt_develop_tiling_t
30{
32 float factor;
34 float factor_cl;
36 float maxbuf;
38 float maxbuf_cl;
40 unsigned overhead;
42 unsigned overlap;
46 unsigned xalign;
47 unsigned yalign;
49
51 const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in,
52 const dt_iop_roi_t *const roi_out, const int bpp);
53
55 const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in,
56 const dt_iop_roi_t *const roi_out, const int bpp);
57
59 const void *const ivoid, void *const ovid, const dt_iop_roi_t *const roi_in,
60 const dt_iop_roi_t *const roi_out, const int bpp);
61
62void process_tiling(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece,
63 const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in,
64 const dt_iop_roi_t *const roi_out, const int bpp);
65
67 const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out,
69
71 const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out,
73
74void tiling_callback(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece,
75 const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out,
77
78int dt_tiling_piece_fits_host_memory(const size_t width, const size_t height, const unsigned bpp,
79 const float factor, const size_t overhead);
80
81#ifdef __cplusplus
82}
83#endif
84
85// clang-format off
86// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
87// vim: shiftwidth=2 expandtab tabstop=2 cindent
88// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
89// clang-format on
90
int width
Definition bilateral.h:1
int height
Definition bilateral.h:1
int bpp
Definition imageio/format/pdf.c:76
Definition tiling.py:1
const float factor
Definition pdf.h:85
Definition pixelpipe_hb.h:46
Definition tiling.h:30
float maxbuf_cl
Definition tiling.h:38
float factor
Definition tiling.h:32
float factor_cl
Definition tiling.h:34
unsigned overhead
Definition tiling.h:40
unsigned xalign
Definition tiling.h:46
unsigned yalign
Definition tiling.h:47
unsigned overlap
Definition tiling.h:42
float maxbuf
Definition tiling.h:36
Definition imageop.h:182
Definition imageop.h:32
void default_tiling_callback(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out, struct dt_develop_tiling_t *tiling)
Definition tiling.c:2005
void tiling_callback(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out, struct dt_develop_tiling_t *tiling)
Definition atrous.c:627
int default_process_tiling_cl(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const int bpp)
Definition tiling.c:1990
int process_tiling_cl(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const int bpp)
int dt_tiling_piece_fits_host_memory(const size_t width, const size_t height, const unsigned bpp, const float factor, const size_t overhead)
Definition tiling.c:2045
void process_tiling(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const int bpp)
void default_process_tiling(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const int bpp)
Definition tiling.c:1174
void tiling_callback_blendop(struct dt_iop_module_t *self, struct dt_dev_pixelpipe_iop_t *piece, const dt_iop_roi_t *roi_in, const dt_iop_roi_t *roi_out, struct dt_develop_tiling_t *tiling)
Definition blend.c:1362