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

Go to the source code of this file.

Macros

#define A(y, x)   src[(y - 1)][(x - 1)]
 
#define B(y, x)   dst[(y - 1)][(x - 1)]
 

Typedefs

typedef float DT_ALIGNED_ARRAY dt_colormatrix_t[4][4]
 

Functions

static int mat3SSEinv (dt_colormatrix_t dst, const dt_colormatrix_t src)
 
static void transpose_3xSSE (const dt_colormatrix_t input, dt_colormatrix_t output)
 
static void transpose_3x3_to_3xSSE (const float input[9], dt_colormatrix_t output)
 
static void repack_double3x3_to_3xSSE (const double input[9], dt_colormatrix_t output)
 
static void pack_3xSSE_to_3x3 (const dt_colormatrix_t input, float output[9])
 
static void dt_colormatrix_mul (dt_colormatrix_t dst, const dt_colormatrix_t m1, const dt_colormatrix_t m2)
 
static void mat3SSEmul (dt_colormatrix_t dest, const dt_colormatrix_t m1, const dt_colormatrix_t m2)
 
static void dot_product (const dt_aligned_pixel_t v_in, const dt_colormatrix_t M, dt_aligned_pixel_t v_out)
 

Macro Definition Documentation

◆ A

#define A (   y,
 
)    src[(y - 1)][(x - 1)]

◆ B

#define B (   y,
 
)    dst[(y - 1)][(x - 1)]

Typedef Documentation

◆ dt_colormatrix_t

typedef float DT_ALIGNED_ARRAY dt_colormatrix_t[4][4]

Function Documentation

◆ dot_product()

◆ dt_colormatrix_mul()

static void dt_colormatrix_mul ( dt_colormatrix_t  dst,
const dt_colormatrix_t  m1,
const dt_colormatrix_t  m2 
)
inlinestatic

◆ mat3SSEinv()

static int mat3SSEinv ( dt_colormatrix_t  dst,
const dt_colormatrix_t  src 
)
inlinestatic

inverts the given padded 3x3 matrix

References A, and B.

Referenced by dt_colorspaces_get_matrix_from_profile(), and dt_ioppr_set_pipe_input_profile_info().

◆ mat3SSEmul()

static void mat3SSEmul ( dt_colormatrix_t  dest,
const dt_colormatrix_t  m1,
const dt_colormatrix_t  m2 
)
inlinestatic
Todo:
: see if that refactors with the previous

◆ pack_3xSSE_to_3x3()

static void pack_3xSSE_to_3x3 ( const dt_colormatrix_t  input,
float  output[9] 
)
inlinestatic

Referenced by _auto_set_illuminant().

◆ repack_double3x3_to_3xSSE()

static void repack_double3x3_to_3xSSE ( const double  input[9],
dt_colormatrix_t  output 
)
inlinestatic

Referenced by extract_color_checker().

◆ transpose_3x3_to_3xSSE()

static void transpose_3x3_to_3xSSE ( const float  input[9],
dt_colormatrix_t  output 
)
inlinestatic

References for_four_channels.

Referenced by _auto_set_illuminant().

◆ transpose_3xSSE()