Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
guided_filter.h File Reference
#include "common/darktable.h"
#include "common/opencl.h"
+ Include dependency graph for guided_filter.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gray_image
 
struct  dt_guided_filter_cl_global_t
 

Typedefs

typedef struct gray_image gray_image
 
typedef struct dt_guided_filter_cl_global_t dt_guided_filter_cl_global_t
 

Functions

static int new_gray_image (gray_image *img, int width, int height)
 
static void free_gray_image (gray_image *img_p)
 
static void copy_gray_image (gray_image img1, gray_image img2)
 
static int min_i (int a, int b)
 
static int max_i (int a, int b)
 
int guided_filter (const float *guide, const float *in, float *out, int width, int height, int ch, int w, float sqrt_eps, float guide_weight, float min, float max)
 
dt_guided_filter_cl_global_tdt_guided_filter_init_cl_global ()
 
void dt_guided_filter_free_cl_global (dt_guided_filter_cl_global_t *g)
 
int guided_filter_cl (int devid, cl_mem guide, cl_mem in, cl_mem out, int width, int height, int ch, int w, float sqrt_eps, float guide_weight, float min, float max)
 

Typedef Documentation

◆ dt_guided_filter_cl_global_t

◆ gray_image

typedef struct gray_image gray_image

Function Documentation

◆ copy_gray_image()

static void copy_gray_image ( gray_image  img1,
gray_image  img2 
)
inlinestatic

◆ dt_guided_filter_free_cl_global()

void dt_guided_filter_free_cl_global ( dt_guided_filter_cl_global_t g)

◆ dt_guided_filter_init_cl_global()

dt_guided_filter_cl_global_t * dt_guided_filter_init_cl_global ( )

References dt_opencl_create_kernel(), and g.

Referenced by dt_opencl_init().

◆ free_gray_image()

static void free_gray_image ( gray_image img_p)
inlinestatic

◆ guided_filter()

int guided_filter ( const float *  guide,
const float *  in,
float *  out,
int  width,
int  height,
int  ch,
int  w,
float  sqrt_eps,
float  guide_weight,
float  min,
float  max 
)

◆ guided_filter_cl()

int guided_filter_cl ( int  devid,
cl_mem  guide,
cl_mem  in,
cl_mem  out,
int  width,
int  height,
int  ch,
int  w,
float  sqrt_eps,
float  guide_weight,
float  min,
float  max 
)

◆ max_i()

static int max_i ( int  a,
int  b 
)
inlinestatic

Referenced by guided_filter_tiling().

◆ min_i()

static int min_i ( int  a,
int  b 
)
inlinestatic

◆ new_gray_image()

static int new_gray_image ( gray_image img,
int  width,
int  height 
)
inlinestatic
Todo:
: the code consuming gray_image doesn't check if we actually allocated the buffer

References gray_image::data, dt_pixelpipe_cache_alloc_align_float_cache, height, gray_image::height, IS_NULL_PTR, width, and gray_image::width.

Referenced by ambient_light(), and process().