Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
colorout.c File Reference
#include "bauhaus/bauhaus.h"
#include "common/colorspaces.h"
#include "common/colorspaces_inline_conversions.h"
#include "common/matrices.h"
#include "common/file_location.h"
#include "common/imagebuf.h"
#include "common/iop_profile.h"
#include "common/opencl.h"
#include "control/conf.h"
#include "control/control.h"
#include "develop/develop.h"
#include "develop/imageop.h"
#include "develop/imageop_math.h"
#include "gui/gtk.h"
#include "iop/iop_api.h"
#include <assert.h>
#include <gdk/gdkkeysyms.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
+ Include dependency graph for colorout.c:

Data Structures

struct  dt_iop_colorout_data_t
 
struct  dt_iop_colorout_global_data_t
 
struct  dt_iop_colorout_params_t
 
struct  dt_iop_colorout_gui_data_t
 

Macros

#define DT_IOP_COLOR_ICC_LEN   512
 
#define LUT_SAMPLES   0x10000
 
#define DT_IOP_COLOR_ICC_LEN_V4   100
 

Typedefs

typedef struct dt_iop_colorout_data_t dt_iop_colorout_data_t
 
typedef struct dt_iop_colorout_global_data_t dt_iop_colorout_global_data_t
 
typedef struct dt_iop_colorout_params_t dt_iop_colorout_params_t
 
typedef struct dt_iop_colorout_gui_data_t dt_iop_colorout_gui_data_t
 

Functions

const char * name ()
 
const char ** description (struct dt_iop_module_t *self)
 
int default_group ()
 
int flags ()
 
int default_colorspace (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece)
 
static dt_iop_colorspace_type_t _colorout_format_cst (dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece)
 
void input_format (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece, dt_iop_buffer_dsc_t *dsc)
 
void output_format (dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece, dt_iop_buffer_dsc_t *dsc)
 
int legacy_params (dt_iop_module_t *self, const void *const old_params, const int old_version, void *new_params, const int new_version)
 
void init_global (dt_iop_module_so_t *module)
 
void cleanup_global (dt_iop_module_so_t *module)
 
static void process_fastpath_apply_tonecurves (const dt_iop_colorout_data_t *const d, float *const restrict out, const size_t npixels)
 
static __DT_CLONE_TARGETS__ void process_fastpath_matrix (const float *const restrict in, float *const restrict out, const size_t npixels, const dt_aligned_pixel_simd_t cm0, const dt_aligned_pixel_simd_t cm1, const dt_aligned_pixel_simd_t cm2, const int use_nontemporal)
 
int process (struct dt_iop_module_t *self, const dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid)
 
static cmsHPROFILE _make_clipping_profile (cmsHPROFILE profile)
 
void commit_params (struct dt_iop_module_t *self, dt_iop_params_t *p1, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
gboolean runtime_data_hash (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *piece)
 
void init_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
void cleanup_pipe (struct dt_iop_module_t *self, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece)
 
void init (dt_iop_module_t *module)
 
void gui_init (dt_iop_module_t *self)
 

Variables

dt_iop_colorout_gui_data_t dummy
 

Macro Definition Documentation

◆ DT_IOP_COLOR_ICC_LEN

#define DT_IOP_COLOR_ICC_LEN   512

◆ DT_IOP_COLOR_ICC_LEN_V4

#define DT_IOP_COLOR_ICC_LEN_V4   100

◆ LUT_SAMPLES

#define LUT_SAMPLES   0x10000

Typedef Documentation

◆ dt_iop_colorout_data_t

◆ dt_iop_colorout_global_data_t

◆ dt_iop_colorout_gui_data_t

◆ dt_iop_colorout_params_t

Function Documentation

◆ _colorout_format_cst()

◆ _make_clipping_profile()

static cmsHPROFILE _make_clipping_profile ( cmsHPROFILE  profile)
static

References dt_free, and size.

Referenced by commit_params().

◆ cleanup_global()

◆ cleanup_pipe()

void cleanup_pipe ( struct dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)

◆ commit_params()

void commit_params ( struct dt_iop_module_t self,
dt_iop_params_t p1,
dt_dev_pixelpipe_t pipe,
dt_dev_pixelpipe_iop_t piece 
)
Todo:
: the use of bpc should be userconfigurable either from module or preference pane

References _make_clipping_profile(), darktable_t::color_profiles, d, darktable, dt_dev_pixelpipe_iop_t::data, dt_iop_module_t::dev, dt_colorspaces_t::display_filename, dt_colorspaces_t::display_intent, dt_colorspaces_t::display_type, dt_colormatrix_mul(), DT_COLORSPACE_ADOBERGB, DT_COLORSPACE_DISPLAY, DT_COLORSPACE_LAB, DT_COLORSPACE_NONE, DT_COLORSPACE_SRGB, DT_COLORSPACE_XYZ, dt_colorspaces_cleanup_profile(), dt_colorspaces_get_embedded_profile(), dt_colorspaces_get_matrix_from_output_profile(), dt_colorspaces_get_name(), dt_colorspaces_get_profile(), dt_conf_get_bool(), dt_control_log(), DT_DEBUG_DEV, DT_DEV_PIXELPIPE_EXPORT, DT_DEV_PIXELPIPE_FULL, DT_DEV_PIXELPIPE_THUMBNAIL, DT_INTENT_LAST, DT_INTENT_PERCEPTUAL, dt_iop_estimate_exp(), dt_iop_set_cache_bypass(), dt_ioppr_get_pipe_input_profile_info(), dt_ioppr_get_pipe_work_profile_info(), dt_ioppr_get_work_profile_type(), dt_ioppr_set_pipe_output_profile_info(), dt_print(), DT_PROFILE_DIRECTION_ANY, DT_PROFILE_DIRECTION_DISPLAY, DT_PROFILE_DIRECTION_OUT, DT_PROFILE_GAMUTCHECK, DT_PROFILE_NORMAL, dt_iop_order_iccprofile_info_t::filename, dt_dev_pixelpipe_t::icc_filename, dt_dev_pixelpipe_t::icc_intent, dt_dev_pixelpipe_t::icc_type, dt_image_t::id, dt_dev_pixelpipe_t::image, dt_iop_order_iccprofile_info_t::intent, LUT_SAMPLES, dt_iop_order_iccprofile_info_t::matrix_in, dt_colorspaces_t::mode, dt_colorspaces_color_profile_t::name, dt_iop_order_iccprofile_info_t::nonlinearlut, output_format(), p, dt_dev_pixelpipe_iop_t::process_cl_ready, dt_colorspaces_color_profile_t::profile, dt_colorspaces_t::softproof_filename, dt_colorspaces_t::softproof_type, dt_iop_order_iccprofile_info_t::type, dt_dev_pixelpipe_t::type, TYPE_XYZA_FLT, x, and dt_colorspaces_t::xprofile_lock.

◆ default_colorspace()

int default_colorspace ( dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
const dt_dev_pixelpipe_iop_t piece 
)

References IOP_CS_RGB.

◆ default_group()

int default_group ( )

References IOP_GROUP_TECHNICAL.

◆ description()

const char ** description ( struct dt_iop_module_t self)

◆ flags()

◆ gui_init()

void gui_init ( dt_iop_module_t self)

◆ init()

void init ( dt_iop_module_t module)

References dt_iop_default_init().

◆ init_global()

◆ init_pipe()

◆ input_format()

◆ legacy_params()

int legacy_params ( dt_iop_module_t self,
const void *const  old_params,
const int  old_version,
void new_params,
const int  new_version 
)

◆ name()

const char * name ( )

◆ output_format()

◆ process()

◆ process_fastpath_apply_tonecurves()

static void process_fastpath_apply_tonecurves ( const dt_iop_colorout_data_t *const  d,
float *const restrict  out,
const size_t  npixels 
)
static

References d, LUT_SAMPLES, and out.

Referenced by process().

◆ process_fastpath_matrix()

static __DT_CLONE_TARGETS__ void process_fastpath_matrix ( const float *const restrict  in,
float *const restrict  out,
const size_t  npixels,
const dt_aligned_pixel_simd_t  cm0,
const dt_aligned_pixel_simd_t  cm1,
const dt_aligned_pixel_simd_t  cm2,
const int  use_nontemporal 
)
inlinestatic

◆ runtime_data_hash()

gboolean runtime_data_hash ( struct dt_iop_module_t self,
dt_dev_pixelpipe_t pipe,
const dt_dev_pixelpipe_iop_t piece 
)

References TRUE, and void().

Variable Documentation

◆ dummy