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

Go to the source code of this file.

Macros

#define LMMSE_GRP   136
 
#define LMMSE_OVERLAP   8
 
#define BORDER_AROUND   4
 
#define LMMSE_TILESIZE   (LMMSE_GRP - 2 * BORDER_AROUND)
 
#define LMMSE_TILEVALID   (LMMSE_TILESIZE - 2 * LMMSE_OVERLAP)
 
#define w1   (LMMSE_GRP)
 
#define w2   (LMMSE_GRP * 2)
 
#define w3   (LMMSE_GRP * 3)
 
#define w4   (LMMSE_GRP * 4)
 

Functions

static INLINE float limf (float x, float min, float max)
 
static INLINE float median3f (float x0, float x1, float x2)
 
static INLINE float median9f (float a0, float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8)
 
static INLINE float calc_gamma (float val, float *table)
 
static void lmmse_demosaic (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, const uint32_t mode, float *const restrict gamma_in, float *const restrict gamma_out)
 

Macro Definition Documentation

◆ BORDER_AROUND

#define BORDER_AROUND   4

◆ LMMSE_GRP

#define LMMSE_GRP   136

◆ LMMSE_OVERLAP

#define LMMSE_OVERLAP   8

◆ LMMSE_TILESIZE

#define LMMSE_TILESIZE   (LMMSE_GRP - 2 * BORDER_AROUND)

◆ LMMSE_TILEVALID

#define LMMSE_TILEVALID   (LMMSE_TILESIZE - 2 * LMMSE_OVERLAP)

◆ w1

#define w1   (LMMSE_GRP)

◆ w2

#define w2   (LMMSE_GRP * 2)

◆ w3

#define w3   (LMMSE_GRP * 3)

◆ w4

#define w4   (LMMSE_GRP * 4)

Function Documentation

◆ calc_gamma()

static INLINE float calc_gamma ( float  val,
float *  table 
)
static

Referenced by lmmse_demosaic().

◆ limf()

static INLINE float limf ( float  x,
float  min,
float  max 
)
static

Referenced by lmmse_demosaic().

◆ lmmse_demosaic()

static void lmmse_demosaic ( 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,
const uint32_t  mode,
float *const restrict  gamma_in,
float *const restrict  gamma_out 
)
static

◆ median3f()

static INLINE float median3f ( float  x0,
float  x1,
float  x2 
)
static

Referenced by lmmse_demosaic().

◆ median9f()

static INLINE float median9f ( float  a0,
float  a1,
float  a2,
float  a3,
float  a4,
float  a5,
float  a6,
float  a7,
float  a8 
)
static

Referenced by lmmse_demosaic().