#include <gimp-print/gimp-print.h>
#include "gimp-print-internal.h"
#include <gimp-print/gimp-print-intl-internal.h>
#include <math.h>
#include <string.h>
#include "module.h"
#include "xml.h"
Go to the source code of this file.
Data Structures | |
struct | curve_param_t |
struct | float_param_t |
struct | lut_params_t |
struct | lut_t |
Defines | |
#define | LUM_RED 31 |
#define | LUM_GREEN 61 |
#define | LUM_BLUE 8 |
#define | FMAX(a, b) ((a) > (b) ? (a) : (b)) |
#define | FMIN(a, b) ((a) < (b) ? (a) : (b)) |
#define | RGB_TO_KCMY_FUNC(name) |
#define | SET_NULL_COLORFUNC |
#define | SET_COLORFUNC(x) |
#define | stpi_module_version color_traditional_LTX_stpi_module_version |
#define | stpi_module_data color_traditional_LTX_stpi_module_data |
Typedefs | |
typedef unsigned(* | stp_convert_t )(stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
Functions | |
void | calc_rgb_to_hsl (unsigned short *rgb, double *hue, double *sat, double *lightness) |
double | hsl_value (double n1, double n2, double hue) |
void | calc_hsl_to_rgb (unsigned short *rgb, double h, double s, double l) |
unsigned | gray_to_gray (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | rgb_to_gray (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
double | update_saturation (double sat, double adjust, double isat) |
void | update_saturation_from_rgb (unsigned short *rgb, double adjust, double isat) |
void | adjust_hsl (unsigned short *rgbout, lut_t *lut, double ssat, double isat, size_t h_points, size_t s_points, size_t l_points, int split_saturation) |
void | adjust_hsl_bright (unsigned short *rgbout, lut_t *lut, double ssat, double isat, size_t h_points, size_t s_points, size_t l_points, int split_saturation) |
void | lookup_rgb (lut_t *lut, unsigned short *rgbout, const unsigned short *red, const unsigned short *green, const unsigned short *blue) |
unsigned | rgb_to_rgb (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | gray_to_rgb (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | fast_rgb_to_rgb (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | fast_gray_to_rgb (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
stp_curve_t | compute_gcr_curve (stp_const_vars_t vars) |
unsigned | generic_rgb_to_kcmy (stp_const_vars_t vars, const unsigned short *in, unsigned short *out) |
unsigned | gray_to_kcmy_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | rgb_to_kcmy_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_8_to_kcmy_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_to_kcmy_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | gray_to_rgb_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | rgb_to_rgb_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | gray_to_gray_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | rgb_to_gray_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_8_to_gray_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_to_gray_line_art (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_8_to_kcmy (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_8_to_gray (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | raw_to_raw (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_to_kcmy (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
unsigned | cmyk_to_gray (stp_const_vars_t vars, const unsigned char *in, unsigned short *out) |
void | initialize_channels (stp_vars_t v, stp_image_t *image) |
int | stpi_color_traditional_get_row (stp_const_vars_t v, stp_image_t *image, int row, unsigned *zero_mask) |
lut_t * | allocate_lut (void) |
void * | copy_lut (void *vlut) |
void | free_lut (void *vlut) |
stp_curve_t | compute_a_curve (stp_curve_t curve, double c_gamma, lut_params_t *l) |
void | invert_curve (stp_curve_t curve, int in_model, int out_model) |
void | compute_one_lut (stp_curve_t lut_curve, stp_const_curve_t curve, double density, lut_params_t *l) |
void | stpi_compute_lut (stp_vars_t v, size_t steps) |
int | stpi_color_traditional_init (stp_vars_t v, stp_image_t *image, size_t steps) |
void | initialize_standard_curves (void) |
stp_parameter_list_t | stpi_color_traditional_list_parameters (stp_const_vars_t v) |
void | stpi_color_traditional_describe_parameter (stp_const_vars_t v, const char *name, stp_parameter_t *description) |
int | color_traditional_module_init (void) |
int | color_traditional_module_exit (void) |
Variables | |
const float_param_t | float_parameters [] |
const int | float_parameter_count |
int | standard_curves_initialized = 0 |
stp_curve_t | hue_map_bounds = NULL |
stp_curve_t | lum_map_bounds = NULL |
stp_curve_t | sat_map_bounds = NULL |
stp_curve_t | color_curve_bounds = NULL |
stp_curve_t | gcr_curve_bounds = NULL |
curve_param_t | curve_parameters [] |
const int | curve_parameter_count |
const stpi_colorfuncs_t | stpi_color_traditional_colorfuncs |
const stpi_internal_color_t | stpi_color_traditional_module_data |
stpi_module_version_t | stpi_module_version = {0, 0} |
stpi_module_t | stpi_module_data |
|
Definition at line 321 of file print-color-x.c. |
|
Definition at line 322 of file print-color-x.c. |
|
Definition at line 317 of file print-color-x.c. Referenced by rgb_to_gray(). |
|
Definition at line 316 of file print-color-x.c. Referenced by rgb_to_gray(). |
|
Definition at line 315 of file print-color-x.c. Referenced by rgb_to_gray(). |
|
Value: static unsigned \ name##_to_kcmy(stp_const_vars_t vars, const unsigned char *in, \ unsigned short *out) \ { \ lut_t *lut = (lut_t *)(stpi_get_component_data(vars, "Color")); \ if (!lut->cmy_tmp) \ lut->cmy_tmp = stpi_malloc(4 * 2 * lut->image_width); \ name##_to_rgb(vars, in, lut->cmy_tmp); \ return generic_rgb_to_kcmy(vars, lut->cmy_tmp, out); \ } Definition at line 1117 of file print-color-x.c. |
|
Value: stpi_dprintf(STPI_DBG_COLORFUNC, v, \ "at line %d stp_choose_colorfunc(type %d bpp %d) ==> %s, %d\n", \ __LINE__, stp_get_output_type(v), image_bpp, #x, \ lut->out_channels); \ lut->colorfunc = x; \ break Definition at line 2088 of file print-color-x.c. |
|
Value: stpi_erprintf \
("No colorfunc chosen at line %d: bpp %d image type %d output type %d!\n", \
__LINE__, image_bpp, itype, stp_get_output_type(v)) Definition at line 2082 of file print-color-x.c. Referenced by stpi_color_traditional_init(). |
|
Definition at line 2539 of file print-color-x.c. |
|
Definition at line 2538 of file print-color-x.c. |
|
Definition at line 48 of file print-color-x.c. |
|
Definition at line 547 of file print-color-x.c. References calc_hsl_to_rgb(), calc_rgb_to_hsl(), lut_t::hue_map, lut_t::lum_map, lut_t::sat_map, stp_curve_interpolate_value(), and update_saturation(). Referenced by rgb_to_rgb(). |
|
Definition at line 633 of file print-color-x.c. References calc_hsl_to_rgb(), calc_rgb_to_hsl(), lut_t::hue_map, lut_t::lum_map, stp_curve_interpolate_value(), and update_saturation(). Referenced by rgb_to_rgb(). |
|
Definition at line 1718 of file print-color-x.c. References lut_t::black, lut_t::channels_are_initialized, lut_t::cmy_tmp, lut_t::cmyk_lut, lut_t::colorfunc, lut_t::composite, lut_t::cyan, lut_t::gcr_curve, lut_t::hue_map, lut_t::image_bpp, lut_t::image_width, lut_t::in_data, lut_t::lum_map, lut_t::magenta, lut_t::sat_map, lut_t::steps, stp_curve_create(), stp_curve_set_bounds(), STP_CURVE_WRAP_NONE, and lut_t::yellow. |
|
Definition at line 419 of file print-color-x.c. References hsl_value(). Referenced by adjust_hsl(), adjust_hsl_bright(), and update_saturation_from_rgb(). |
|
Definition at line 326 of file print-color-x.c. Referenced by adjust_hsl(), adjust_hsl_bright(), and update_saturation_from_rgb(). |
|
Definition at line 1580 of file print-color-x.c. References lut_t::cmyk_lut, lut_t::image_width, and stp_get_float_parameter(). Referenced by stpi_color_traditional_init(). |
|
Definition at line 1458 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1534 of file print-color-x.c. References lut_t::cmyk_lut, lut_t::image_width, and stp_get_float_parameter(). Referenced by stpi_color_traditional_init(). |
|
Definition at line 1216 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1667 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1495 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1638 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1251 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 2531 of file print-color-x.c. References stpi_color_traditional_module_data. |
|
Definition at line 2524 of file print-color-x.c. References stpi_color_traditional_module_data. |
|
|
Definition at line 958 of file print-color-x.c. References lut_t::steps, stp_check_float_parameter(), stp_curve_create(), stp_curve_set_bounds(), stp_curve_set_data(), STP_CURVE_WRAP_NONE, stp_get_float_parameter(), and STP_PARAMETER_DEFAULTED. |
|
Definition at line 1953 of file print-color-x.c. References compute_a_curve(), lut_params_t::input_color_model, invert_curve(), lut_params_t::output_color_model, lut_params_t::steps, STP_CURVE_BOUNDS_RESCALE, STP_CURVE_COMPOSE_MULTIPLY, stp_curve_copy(), stp_curve_resample(), and stp_curve_rescale(). |
|
Definition at line 1747 of file print-color-x.c. References allocate_lut(), lut_t::cmy_tmp, lut_t::colorfunc, lut_t::composite, lut_t::cyan, lut_t::gcr_curve, lut_t::hue_map, lut_t::image_bpp, lut_t::image_width, lut_t::in_data, lut_t::lum_map, lut_t::magenta, lut_t::sat_map, lut_t::steps, stp_curve_create_copy(), and lut_t::yellow. Referenced by stpi_compute_lut(). |
|
Definition at line 906 of file print-color-x.c. References lut_t::cyan, lut_t::image_bpp, lut_t::image_width, lut_t::magenta, stp_curve_get_ushort_data(), stp_curve_resample(), and lut_t::yellow. Referenced by stpi_color_traditional_init(). |
|
Definition at line 840 of file print-color-x.c. References lut_t::cyan, lut_t::image_bpp, lut_t::image_width, lut_t::magenta, stp_curve_get_ushort_data(), stp_curve_resample(), stp_get_float_parameter(), update_saturation_from_rgb(), and lut_t::yellow. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1782 of file print-color-x.c. References lut_t::black, lut_t::cmy_tmp, lut_t::cmyk_lut, lut_t::composite, lut_t::cyan, lut_t::gcr_curve, lut_t::hue_map, lut_t::in_data, lut_t::lum_map, lut_t::magenta, lut_t::sat_map, and lut_t::yellow. Referenced by stpi_compute_lut(). |
|
Definition at line 1022 of file print-color-x.c. References compute_gcr_curve(), lut_t::gcr_curve, lut_t::image_width, lut_t::steps, stp_check_curve_parameter(), stp_curve_count_points(), stp_curve_create_copy(), stp_curve_get_point(), stp_curve_resample(), stp_curve_set_bounds(), stp_get_curve_parameter(), and STP_PARAMETER_DEFAULTED. |
|
Definition at line 455 of file print-color-x.c. References lut_t::composite, lut_t::image_width, stp_curve_get_ushort_data(), and stp_curve_resample(). Referenced by stpi_color_traditional_init(). |
|
Definition at line 1384 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1135 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 787 of file print-color-x.c. References lut_t::cyan, lut_t::image_bpp, lut_t::image_width, lookup_rgb(), lut_t::magenta, stp_curve_get_ushort_data(), and lut_t::yellow. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1287 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 402 of file print-color-x.c. Referenced by calc_hsl_to_rgb(). |
|
Definition at line 1687 of file print-color-x.c. References lut_t::channels_are_initialized, lut_t::out_channels, stp_check_float_parameter(), stp_get_float_parameter(), and STP_PARAMETER_ACTIVE. |
|
Definition at line 2330 of file print-color-x.c. References curve_parameter_count, stp_parameter_t::deflt, curve_param_t::defval, curve_param_t::param, and standard_curves_initialized. |
|
Definition at line 1922 of file print-color-x.c. References STP_CURVE_BOUNDS_RESCALE, STP_CURVE_COMPOSE_ADD, STP_CURVE_COMPOSE_MULTIPLY, stp_curve_get_bounds(), stp_curve_get_data(), stp_curve_get_gamma(), stp_curve_rescale(), stp_curve_set_data(), and stp_curve_set_gamma(). |
|
Definition at line 680 of file print-color-x.c. References lut_t::steps. Referenced by gray_to_rgb(), and rgb_to_rgb(). |
|
Definition at line 1608 of file print-color-x.c. References lut_t::image_bpp, and lut_t::image_width. Referenced by stpi_color_convert_raw(), and stpi_color_traditional_init(). |
|
Definition at line 488 of file print-color-x.c. References lut_t::composite, lut_t::image_width, LUM_BLUE, LUM_GREEN, LUM_RED, stp_curve_get_ushort_data(), and stp_curve_resample(). Referenced by stpi_color_traditional_init(). |
|
Definition at line 1421 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1171 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
Definition at line 703 of file print-color-x.c. References adjust_hsl(), adjust_hsl_bright(), lut_t::cyan, lut_t::hue_map, lut_t::image_bpp, lut_t::image_width, lookup_rgb(), lut_t::lum_map, lut_t::magenta, lut_t::sat_map, stp_curve_count_points(), stp_curve_get_ushort_data(), stp_get_float_parameter(), stp_get_string_parameter(), update_saturation_from_rgb(), and lut_t::yellow. Referenced by stpi_color_traditional_init(). |
|
Definition at line 1328 of file print-color-x.c. References lut_t::image_width. Referenced by stpi_color_traditional_init(). |
|
|
Definition at line 1697 of file print-color-x.c. References lut_t::channels_are_initialized, lut_t::colorfunc, lut_t::image_bpp, lut_t::image_width, lut_t::in_data, initialize_channels(), and STP_IMAGE_STATUS_OK. |
|
Definition at line 2097 of file print-color-x.c. References cmyk_8_to_gray(), cmyk_8_to_gray_line_art(), cmyk_8_to_kcmy(), cmyk_8_to_kcmy_line_art(), cmyk_to_gray(), cmyk_to_gray_line_art(), cmyk_to_kcmy(), cmyk_to_kcmy_line_art(), fast_gray_to_rgb(), fast_rgb_to_rgb(), gray_to_gray(), gray_to_gray_line_art(), gray_to_kcmy_line_art(), gray_to_rgb(), gray_to_rgb_line_art(), lut_t::image_bpp, lut_t::image_width, lut_t::in_data, lut_t::out_channels, raw_to_raw(), rgb_to_gray(), rgb_to_gray_line_art(), rgb_to_kcmy_line_art(), rgb_to_rgb(), rgb_to_rgb_line_art(), SET_COLORFUNC, SET_NULL_COLORFUNC, stp_get_string_parameter(), and stpi_compute_lut(). |
|
Definition at line 2387 of file print-color-x.c. References curve_parameter_count, float_parameter_count, initialize_standard_curves(), stp_parameter_list_add_param(), and stp_parameter_list_create(). |
|
|
Definition at line 522 of file print-color-x.c. References FMIN. Referenced by adjust_hsl(), adjust_hsl_bright(), and update_saturation_from_rgb(). |
|
Definition at line 538 of file print-color-x.c. References calc_hsl_to_rgb(), calc_rgb_to_hsl(), and update_saturation(). Referenced by fast_rgb_to_rgb(), and rgb_to_rgb(). |
|
Definition at line 229 of file print-color-x.c. |
|
Initial value: sizeof(curve_parameters) / sizeof(curve_param_t) Definition at line 308 of file print-color-x.c. Referenced by initialize_standard_curves(), stpi_color_traditional_describe_parameter(), and stpi_color_traditional_list_parameters(). |
|
Definition at line 232 of file print-color-x.c. |
|
Initial value: sizeof(float_parameters) / sizeof(float_param_t) Definition at line 206 of file print-color-x.c. Referenced by stpi_color_traditional_describe_parameter(), and stpi_color_traditional_list_parameters(). |
|
Definition at line 83 of file print-color-x.c. |
|
Definition at line 230 of file print-color-x.c. |
|
Definition at line 226 of file print-color-x.c. |
|
Definition at line 227 of file print-color-x.c. |
|
Definition at line 228 of file print-color-x.c. |
|
Definition at line 224 of file print-color-x.c. Referenced by initialize_standard_curves(). |
|
Initial value: { &stpi_color_traditional_init, &stpi_color_traditional_get_row, &stpi_color_traditional_list_parameters, &stpi_color_traditional_describe_parameter } Definition at line 2506 of file print-color-x.c. |
|
Initial value: { COOKIE_COLOR, "traditional", N_("Traditional Gimp-Print color conversion"), &stpi_color_traditional_colorfuncs } Definition at line 2514 of file print-color-x.c. Referenced by color_traditional_module_exit(), and color_traditional_module_init(). |
|
Initial value: { "traditional", VERSION, "Traditional Gimp-Print color conversion", STPI_MODULE_CLASS_COLOR, NULL, color_traditional_module_init, color_traditional_module_exit, (void *) &stpi_color_traditional_module_data } Definition at line 2543 of file print-color-x.c. |
|
Definition at line 2541 of file print-color-x.c. |