![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/box_filters.h"#include "common/guided_filter.h"#include "common/math.h"#include "common/opencl.h"#include <assert.h>#include <float.h>#include <stdlib.h>#include <string.h>
Include dependency graph for guided_filter.c:Data Structures | |
| struct | tile |
| struct | color_image |
Macros | |
| #define | GF_TILE_SIZE 512 |
| #define | SIMD_FOR for |
| #define | _mm_prefetch(where, hint) |
| #define | INP_MEAN 0 |
| #define | GUIDE_MEAN_R 1 |
| #define | GUIDE_MEAN_G 2 |
| #define | GUIDE_MEAN_B 3 |
| #define | COV_R 0 |
| #define | COV_G 1 |
| #define | COV_B 2 |
| #define | VAR_RR 3 |
| #define | VAR_RG 4 |
| #define | VAR_RB 5 |
| #define | VAR_GG 6 |
| #define | VAR_BB 8 |
| #define | VAR_GB 7 |
| #define | A_RED 0 |
| #define | A_GREEN 1 |
| #define | A_BLUE 2 |
| #define | B 3 |
Typedefs | |
| typedef struct tile | tile |
| typedef struct color_image | color_image |
Functions | |
| static color_image | new_color_image (int width, int height, int ch) |
| static void | free_color_image (color_image *img_p) |
| static float * | get_color_pixel (color_image img, size_t i) |
| static void | guided_filter_tiling (color_image imgg, gray_image img, gray_image img_out, tile target, const int w, const float eps, const float guide_weight, const float min, const float max) |
| static int | compute_tile_height (const int height, const int w) |
| static int | compute_tile_width (const int width, const int w) |
| void | guided_filter (const float *const guide, const float *const in, float *const out, const int width, const int height, const int ch, const int w, const float sqrt_eps, const float guide_weight, const float min, const float max) |
| #define _mm_prefetch | ( | where, | |
| hint | |||
| ) |
| #define A_BLUE 2 |
| #define A_GREEN 1 |
| #define A_RED 0 |
| #define B 3 |
| #define COV_B 2 |
| #define COV_G 1 |
| #define COV_R 0 |
| #define GF_TILE_SIZE 512 |
| #define GUIDE_MEAN_B 3 |
| #define GUIDE_MEAN_G 2 |
| #define GUIDE_MEAN_R 1 |
| #define INP_MEAN 0 |
| #define SIMD_FOR for |
| #define VAR_BB 8 |
| #define VAR_GB 7 |
| #define VAR_GG 6 |
| #define VAR_RB 5 |
| #define VAR_RG 4 |
| #define VAR_RR 3 |
| typedef struct color_image color_image |
|
static |
References GF_TILE_SIZE, height, and max_i().
Referenced by guided_filter().
|
static |
References GF_TILE_SIZE, max_i(), and width.
Referenced by guided_filter().
|
inlinestatic |
References color_image::data, and dt_free_align.
Referenced by guided_filter_tiling().
|
inlinestatic |
References color_image::data, and color_image::stride.
Referenced by guided_filter_tiling().
| void guided_filter | ( | const float *const | guide, |
| const float *const | in, | ||
| float *const | out, | ||
| const int | width, | ||
| const int | height, | ||
| const int | ch, | ||
| const int | w, | ||
| const float | sqrt_eps, | ||
| const float | guide_weight, | ||
| const float | min, | ||
| const float | max | ||
| ) |
References compute_tile_height(), compute_tile_width(), eps, guided_filter_tiling(), height, min_i(), and width.
Referenced by _develop_blend_process_feather(), and process().
|
static |
References A_BLUE, A_GREEN, A_RED, B, BOXFILTER_KAHAN_SUM, COV_B, COV_G, COV_R, color_image::data, gray_image::data, dt_alloc_perthread_float(), dt_box_mean(), dt_box_mean_horizontal(), dt_box_mean_vertical(), dt_free_align, dt_get_perthread, eps, free_color_image(), get_color_pixel(), GUIDE_MEAN_B, GUIDE_MEAN_G, GUIDE_MEAN_R, height, color_image::height, INP_MEAN, tile::left, tile::lower, max_i(), min_i(), new_color_image(), tile::right, size, color_image::stride, tile::upper, VAR_BB, VAR_GB, VAR_GG, VAR_RB, VAR_RG, VAR_RR, width, color_image::width, and gray_image::width.
Referenced by guided_filter().
|
inlinestatic |
References dt_alloc_align_float(), height, and width.
Referenced by guided_filter_tiling().