Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
rcd.c File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RCD_TILESIZE   112
 
#define RCD_BORDER   10
 
#define RCD_TILEVALID   (RCD_TILESIZE - 2 * RCD_BORDER)
 
#define w1   RCD_TILESIZE
 
#define w2   (2 * RCD_TILESIZE)
 
#define w3   (3 * RCD_TILESIZE)
 
#define w4   (4 * RCD_TILESIZE)
 
#define eps   1e-5f
 
#define epssq   1e-10f
 

Functions

static INLINE float safe_in (float a, float scale)
 
static __DT_CLONE_TARGETS__ void rcd_ppg_border (float *const out, const float *const in, const int width, const int height, const uint32_t filters, const int margin)
 
static void rcd_demosaic (const dt_dev_pixelpipe_iop_t *piece, float *const restrict out, const float *const restrict in, dt_iop_roi_t *const roi_out, const dt_iop_roi_t *const roi_in, const uint32_t filters)
 
static int process_rcd_cl (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, cl_mem dev_in, cl_mem dev_out, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out, const gboolean smooth)
 

Macro Definition Documentation

◆ eps

#define eps   1e-5f

Definition at line 87 of file rcd.c.

◆ epssq

#define epssq   1e-10f

Definition at line 88 of file rcd.c.

◆ RCD_BORDER

#define RCD_BORDER   10

Definition at line 80 of file rcd.c.

◆ RCD_TILESIZE

#define RCD_TILESIZE   112

Definition at line 60 of file rcd.c.

◆ RCD_TILEVALID

#define RCD_TILEVALID   (RCD_TILESIZE - 2 * RCD_BORDER)

Definition at line 81 of file rcd.c.

◆ w1

#define w1   RCD_TILESIZE

Definition at line 82 of file rcd.c.

◆ w2

#define w2   (2 * RCD_TILESIZE)

Definition at line 83 of file rcd.c.

◆ w3

#define w3   (3 * RCD_TILESIZE)

Definition at line 84 of file rcd.c.

◆ w4

#define w4   (4 * RCD_TILESIZE)

Definition at line 85 of file rcd.c.

Function Documentation

◆ process_rcd_cl()

static int process_rcd_cl ( struct dt_iop_module_t *  self,
const dt_dev_pixelpipe_t *  pipe,
const dt_dev_pixelpipe_iop_t *  piece,
cl_mem  dev_in,
cl_mem  dev_out,
const dt_iop_roi_t *const  roi_in,
const dt_iop_roi_t *const  roi_out,
const gboolean  smooth 
)
static

◆ rcd_demosaic()

static void rcd_demosaic ( const dt_dev_pixelpipe_iop_t *  piece,
float *const restrict  out,
const float *const restrict  in,
dt_iop_roi_t *const  roi_out,
const dt_iop_roi_t *const  roi_in,
const uint32_t  filters 
)
static

◆ rcd_ppg_border()

static __DT_CLONE_TARGETS__ void rcd_ppg_border ( float *const  out,
const float *const  in,
const int  width,
const int  height,
const uint32_t  filters,
const int  margin 
)
static

This is basically ppg adopted to only write data to RCD_BORDER

Definition at line 98 of file rcd.c.

References __OMP_PARALLEL_FOR__, color, f, FC(), height, i, M, m, out, width, and x.

Referenced by rcd_demosaic().

◆ safe_in()

static INLINE float safe_in ( float  a,
float  scale 
)
static

Definition at line 91 of file rcd.c.

Referenced by rcd_demosaic().