![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"
#include "common/locallaplacian.h"
#include "common/math.h"
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <assert.h>
#include <stdio.h>
Macros | |
#define | max_levels 30 |
#define | num_gamma 6 |
#define | debug_dump_PFM(f, b, w, h) |
#define | LL_FILL(fallback) |
Functions | |
static int | dl (int size, const int level) |
static float | ll_expand_gaussian (const float *const coarse, const int i, const int j, const int wd, const int ht) |
static void | ll_fill_boundary1 (float *const input, const int wd, const int ht) |
static void | ll_fill_boundary2 (float *const input, const int wd, const int ht) |
static void | pad_by_replication (float *buf, const uint32_t w, const uint32_t h, const uint32_t padding) |
static void | gauss_expand (const float *const input, float *const fine, const int wd, const int ht) |
static void | gauss_reduce (const float *const input, float *const coarse, const int wd, const int ht) |
static float * | ll_pad_input (const float *const input, const int wd, const int ht, const int max_supp, int *wd2, int *ht2, local_laplacian_boundary_t *b) |
static float | ll_laplacian (const float *const coarse, const float *const fine, const int i, const int j, const int wd, const int ht) |
static float | curve_scalar (const float x, const float g, const float sigma, const float shadows, const float highlights, const float clarity) |
void | apply_curve (float *const out, const float *const in, const uint32_t w, const uint32_t h, const uint32_t padding, const float g, const float sigma, const float shadows, const float highlights, const float clarity) |
void | local_laplacian_internal (const float *const input, float *const out, const int wd, const int ht, const float sigma, const float shadows, const float highlights, const float clarity, const int use_sse2, local_laplacian_boundary_t *b) |
size_t | local_laplacian_memory_use (const int width, const int height) |
size_t | local_laplacian_singlebuffer_size (const int width, const int height) |
#define debug_dump_PFM | ( | f, | |
b, | |||
w, | |||
h | |||
) |
#define LL_FILL | ( | fallback | ) |
#define max_levels 30 |
#define num_gamma 6 |
void apply_curve | ( | float *const | out, |
const float *const | in, | ||
const uint32_t | w, | ||
const uint32_t | h, | ||
const uint32_t | padding, | ||
const float | g, | ||
const float | sigma, | ||
const float | shadows, | ||
const float | highlights, | ||
const float | clarity | ||
) |
References curve_scalar(), and pad_by_replication().
Referenced by local_laplacian_internal().
|
inlinestatic |
References CLAMPS.
Referenced by apply_curve().
|
inlinestatic |
References size.
Referenced by local_laplacian_internal(), local_laplacian_memory_use(), and local_laplacian_singlebuffer_size().
|
inlinestatic |
References ll_expand_gaussian(), and ll_fill_boundary2().
Referenced by local_laplacian_internal().
|
inlinestatic |
References ll_fill_boundary1().
Referenced by local_laplacian_internal().
|
inlinestatic |
Referenced by gauss_expand(), and ll_laplacian().
|
inlinestatic |
Referenced by gauss_reduce().
|
inlinestatic |
Referenced by gauss_expand().
|
inlinestatic |
References CLAMPS, and ll_expand_gaussian().
Referenced by local_laplacian_internal().
|
inlinestatic |
References dt_alloc_align_float(), LL_FILL, and pad_by_replication().
Referenced by local_laplacian_internal().
void local_laplacian_internal | ( | const float *const | input, |
float *const | out, | ||
const int | wd, | ||
const int | ht, | ||
const float | sigma, | ||
const float | shadows, | ||
const float | highlights, | ||
const float | clarity, | ||
const int | use_sse2, | ||
local_laplacian_boundary_t * | b | ||
) |
References apply_curve(), c1, CLAMPS, debug_dump_PFM, dl(), dt_alloc_align_float(), dt_free_align, error(), gauss_expand(), gauss_reduce(), ll_laplacian(), ll_pad_input(), max_levels, MIN, num_gamma, and weight().
Referenced by local_laplacian().
size_t local_laplacian_memory_use | ( | const int | width, |
const int | height | ||
) |
References dl(), height, max_levels, MIN, num_gamma, and width.
Referenced by tiling_callback().
size_t local_laplacian_singlebuffer_size | ( | const int | width, |
const int | height | ||
) |
References dl(), height, max_levels, MIN, and width.
Referenced by tiling_callback().
|
static |
Referenced by apply_curve(), and ll_pad_input().