Øyvind Kolås [Wed, 6 Mar 2019 11:09:47 +0000 (12:09 +0100)]
babl: use inlined lookup functions inside type implementations
This avoids function call stack overhead for some calls that are
in many of our hot-paths.
Jan Vesely [Wed, 20 Feb 2019 21:39:35 +0000 (16:39 -0500)]
gitlab-ci: Replace base/archlinux with archlinux/base
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Øyvind Kolås [Sun, 24 Feb 2019 17:25:14 +0000 (18:25 +0100)]
babl: remove some redundant processing in babl_fish_reference
Nuno Ferreira [Fri, 22 Feb 2019 22:29:17 +0000 (22:29 +0000)]
code style review
fixed style of function headers in the babl/base folder
Nuno Ferreira [Thu, 21 Feb 2019 23:03:07 +0000 (23:03 +0000)]
code style review
missed this one
Nuno Ferreira [Thu, 21 Feb 2019 22:57:02 +0000 (22:57 +0000)]
code style review
fixed function headers in .c files
Øyvind Kolås [Sat, 2 Feb 2019 19:46:29 +0000 (20:46 +0100)]
post-release version bump
Øyvind Kolås [Fri, 1 Feb 2019 16:22:50 +0000 (17:22 +0100)]
release 0.1.62
Øyvind Kolås [Fri, 1 Feb 2019 16:21:04 +0000 (17:21 +0100)]
update NEWS
Øyvind Kolås [Fri, 1 Feb 2019 15:11:08 +0000 (16:11 +0100)]
babl.h: reorder and space out BABL_MODEL_FLAG bitmask
This adds a couple spacer slots for additions that might come, like
like coats an ink/paint simulator and spectral bands.
Øyvind Kolås [Fri, 1 Feb 2019 14:25:09 +0000 (15:25 +0100)]
babl: rename new space scRGB
The newly addes space is scRGB, babl is still missing scRGB specific
16bit storage, similar to what already exists for CIE Lab in u8.
Michael Natterer [Tue, 1 Jan 2019 18:15:40 +0000 (19:15 +0100)]
palette: allow a NULL space in babl_new_palette_with_space()
Øyvind Kolås [Tue, 1 Jan 2019 16:10:18 +0000 (17:10 +0100)]
export symbol babl_new_palette_with_space
Øyvind Kolås [Sat, 8 Dec 2018 10:29:21 +0000 (11:29 +0100)]
NEWS: update
Andre Klapper [Sat, 15 Dec 2018 18:09:33 +0000 (19:09 +0100)]
Replace Bugzilla by Gitlab URL in DOAP file
apw [Sat, 28 Jul 2018 06:03:39 +0000 (06:03 +0000)]
Update autogen.sh, typo: intall -> install
Øyvind Kolås [Thu, 6 Dec 2018 22:18:09 +0000 (23:18 +0100)]
Merge branch 'jvesely/babl-master'
Jan Vesely [Thu, 6 Dec 2018 21:57:23 +0000 (16:57 -0500)]
gitlab-ci: Add builds without liblcms2
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Jan Vesely [Thu, 6 Dec 2018 22:08:32 +0000 (17:08 -0500)]
meson: Fix build setup wihtout lcms
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Øyvind Kolås [Thu, 6 Dec 2018 21:53:29 +0000 (22:53 +0100)]
tests: remove context-less debug printfs
Øyvind Kolås [Thu, 6 Dec 2018 21:34:34 +0000 (22:34 +0100)]
babl: fix building reference-fish without lcms2
Øyvind Kolås [Thu, 6 Dec 2018 21:12:09 +0000 (22:12 +0100)]
Merge branch 'jvesely/babl-master'
Øyvind Kolås [Thu, 6 Dec 2018 21:10:02 +0000 (22:10 +0100)]
tests: add code that processes a palette format with changed space
Ján Veselý [Thu, 6 Dec 2018 19:21:27 +0000 (14:21 -0500)]
Add gitlab CI configuration
Build both automake and meson using latest arch
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Ján Veselý [Thu, 6 Dec 2018 20:34:51 +0000 (15:34 -0500)]
meson: Add with-lcms option
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Ján Veselý [Thu, 6 Dec 2018 20:06:27 +0000 (15:06 -0500)]
meson: Remove duplicate rule for config.h
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Jan Vesely [Fri, 30 Nov 2018 02:16:06 +0000 (21:16 -0500)]
meson: Add missing mode-cmyk.c file to source list
Fix meson build.
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Øyvind Kolås [Thu, 6 Dec 2018 18:19:40 +0000 (19:19 +0100)]
babl: make babl_format_with_space not crash with palette based formats
Now, both palettes referred to by their string name and palettes passed
directly in with a cast get passed through without modification, for
correct behavior their palette entries should also be re-created
(the only way to read out the palette is currently to do an exhaustive buffer
conversion.)
Øyvind Kolås [Thu, 6 Dec 2018 16:09:47 +0000 (17:09 +0100)]
babl: add babl_new_palette_with_space
Handling of space in palettes is still incomplete.
Øyvind Kolås [Thu, 6 Dec 2018 16:06:28 +0000 (17:06 +0100)]
babl: special case palette formats in babl_format_with_space
For now, re-return the original passed in format, this will as
a starter not crash - while the color management is non-functional;
the special casing will be made more elaborate with space support
in babl-palette.
Øyvind Kolås [Thu, 6 Dec 2018 09:29:01 +0000 (10:29 +0100)]
tests: fix bit-rot in palette tests
Update to use R'G'B' u8 formats, which is what is now used internally
as well well, along with updating to use the current way of creating
formats with/without transparency.
Øyvind Kolås [Wed, 5 Dec 2018 02:36:50 +0000 (03:36 +0100)]
build: do tests last, for better make check output
Øyvind Kolås [Mon, 3 Dec 2018 23:41:56 +0000 (00:41 +0100)]
tests: update cairo hack with final format names
Øyvind Kolås [Mon, 3 Dec 2018 23:18:47 +0000 (00:18 +0100)]
cairo: make mapping of cmyk subset easier
Make the mapping be RGB = CMK and RGB = CYK, only magenta and yellow
vary between them and the order remains the same, making it easier to
spot inconsitencies in code.
Øyvind Kolås [Mon, 3 Dec 2018 23:04:45 +0000 (00:04 +0100)]
cairo: move CMYK extension formats here
This adds new endian-aware formats cairo-ACMK32 and cairo-ACKY32 which are
derived from babl_format("camayakaA u8") - converting succesively with these
two formats to this format or other sharing the model permits rebuilding a
complete CMYKA image.
Øyvind Kolås [Mon, 3 Dec 2018 15:41:39 +0000 (16:41 +0100)]
babl: rename babl_model_get_flags to babl_get_model_flags
Øyvind Kolås [Mon, 3 Dec 2018 18:08:02 +0000 (19:08 +0100)]
babl: do not synthesize missing components
This permits copying to a complete format from a reduced set, only
setting the defined components. Earlier this could be achieved by
using a format with PAD for the components.
Øyvind Kolås [Sun, 2 Dec 2018 22:49:21 +0000 (23:49 +0100)]
add a format for muxing cmyk u8 in and out of rgba u8 buffers
Øyvind Kolås [Sun, 2 Dec 2018 02:09:17 +0000 (03:09 +0100)]
babl-fish-reference: do cmyk to cmyk conversions
Øyvind Kolås [Sun, 2 Dec 2018 22:48:28 +0000 (23:48 +0100)]
base: add more u8 cmyk formats
Øyvind Kolås [Sun, 2 Dec 2018 22:47:14 +0000 (23:47 +0100)]
babl: make babl_model_get_flags also accept format
perhaps it should be renamed to babl_get_model_flags since it
now operates more generically on babl pointers, it could also
work on bablimage.
Øyvind Kolås [Sun, 2 Dec 2018 18:31:45 +0000 (19:31 +0100)]
docs: remove todo item referring to CMYK
Øyvind Kolås [Sun, 2 Dec 2018 16:29:59 +0000 (17:29 +0100)]
docs: update
Øyvind Kolås [Sat, 1 Dec 2018 20:35:46 +0000 (21:35 +0100)]
base: add half version of CMYK formats
Øyvind Kolås [Sat, 1 Dec 2018 20:35:23 +0000 (21:35 +0100)]
babl: remove dead code
Øyvind Kolås [Sat, 1 Dec 2018 20:35:11 +0000 (21:35 +0100)]
babl-fish-reference: keep source/destination space in local variables
Ell [Wed, 28 Nov 2018 10:04:31 +0000 (05:04 -0500)]
*/Makefile.am: add LCMS_CFLAGS to CPPFLAGS
Since babl-space.h includes lcms2.h, we need to include LCMS_CFLAGS
everywhere that includes babl-internal.h.
Øyvind Kolås [Wed, 28 Nov 2018 01:51:51 +0000 (02:51 +0100)]
base: add linear meta-data to relevant gray model
Øyvind Kolås [Wed, 28 Nov 2018 01:17:27 +0000 (02:17 +0100)]
base: ass linear bit to rgb and ragaba models
Øyvind Kolås [Tue, 27 Nov 2018 19:41:23 +0000 (20:41 +0100)]
babl: harmonize order of fields in image/model/format
Øyvind Kolås [Tue, 27 Nov 2018 18:54:55 +0000 (19:54 +0100)]
export-symbols: add babl_model_get_flags
Øyvind Kolås [Tue, 27 Nov 2018 02:53:40 +0000 (03:53 +0100)]
tools: change debug tolerance to avoid segfaults
Øyvind Kolås [Tue, 27 Nov 2018 02:37:10 +0000 (03:37 +0100)]
babl: decrease tolerance
The following conversion is undesirable, going via linear u16 on the
way to a different TRC u16 amount of quantization should be considered
bad enough to be avoided.
chosen RGBA u32 to R'G'B'A u16: steps: 4 error: 0.000005 cost: 876.000000
/usr/local/lib/babl-0.1/u32.so 0: RGBA u32 to RGBA u16
/usr/local/lib/babl-0.1/gggl-table-lies.so 0: RGBA u16 to RGBA float
/usr/local/lib/babl-0.1/sse2-float.so 0: RGBA float to R'G'B'A float
/usr/local/lib/babl-0.1/gggl.so 0: R'G'B'A float to R'G'B'A u16
This is slower but more correct:
chosen RGBA u32 to R'G'B'A u16: steps: 3 error: 0.000000 cost: 1051.000000
/usr/local/lib/babl-0.1/simple.so 0: RGBA u32 to RGBA float
/usr/local/lib/babl-0.1/sse2-float.so 0: RGBA float to R'G'B'A float
/usr/local/lib/babl-0.1/gggl.so 0: R'G'B'A float to R'G'B'A u16
Øyvind Kolås [Mon, 26 Nov 2018 23:42:45 +0000 (00:42 +0100)]
babl.h: reorder BablModelFlag typedef and enum for C++ compatibility
Øyvind Kolås [Mon, 26 Nov 2018 23:28:15 +0000 (00:28 +0100)]
babl: add meta data to RGBA model in core
Øyvind Kolås [Mon, 26 Nov 2018 23:25:19 +0000 (00:25 +0100)]
babl: add linear model meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:24:25 +0000 (00:24 +0100)]
ycbcr: add model alpha meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:24:10 +0000 (00:24 +0100)]
HSV: add alpha model meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:23:59 +0000 (00:23 +0100)]
HSL: add alpha model meta-data
Øyvind Kolås [Mon, 26 Nov 2018 23:22:37 +0000 (00:22 +0100)]
HCY: add alpha meta data for model
Øyvind Kolås [Mon, 26 Nov 2018 23:17:47 +0000 (00:17 +0100)]
CIE: add metadata to models
Øyvind Kolås [Mon, 26 Nov 2018 22:39:08 +0000 (23:39 +0100)]
babl: add bitmask flags for meta-data about models
Refactored from new API needed internally for knowing if a model is CMYK based
or not, this permits adding meta-data that can be quickly figured out in
possible fast code paths. The API is not complete, and it probably doesn't harm
to include as many features from different models as possible that fit in a
bitmask, adding the most important ones first and maintaining the order of the
enum will ensure API compatibility once it is in a release.
Øyvind Kolås [Sat, 24 Nov 2018 03:13:24 +0000 (04:13 +0100)]
babl: fix bad relative include
Øyvind Kolås [Sat, 24 Nov 2018 03:13:06 +0000 (04:13 +0100)]
build: remove remnants of CMYK extension
Øyvind Kolås [Mon, 12 Nov 2018 22:36:51 +0000 (23:36 +0100)]
docs: update with information about CMYK
Øyvind Kolås [Mon, 12 Nov 2018 22:35:31 +0000 (23:35 +0100)]
babl: implement CMYK color model in reference and base
This commit adds support to the reference fishes of babl to deal
with CMYK based pixel format encodings, backed by babl spaces with
ICC CMYK ICC profiles.
Øyvind Kolås [Mon, 12 Nov 2018 22:30:07 +0000 (23:30 +0100)]
build: check for and link against lcms2
Øyvind Kolås [Mon, 12 Nov 2018 22:36:42 +0000 (23:36 +0100)]
babl: comment out unused model_is_rgba
Øyvind Kolås [Fri, 16 Nov 2018 00:50:22 +0000 (01:50 +0100)]
babl-fish: print error message instead of blowing stack
Øyvind Kolås [Fri, 16 Nov 2018 21:32:10 +0000 (22:32 +0100)]
tests: make srgb-to-lab-u8 also compile stand-alone
Øyvind Kolås [Fri, 16 Nov 2018 17:27:32 +0000 (18:27 +0100)]
babl: properly cache runtime inserted conversions
The old behavior of avoiding colliding names used in the conversion database
is still used during loading of extension permitting multiple conversions
to be registered for runtime profiling.
Øyvind Kolås [Fri, 16 Nov 2018 01:50:15 +0000 (02:50 +0100)]
babl: avoid re-creating some existing conversions
Øyvind Kolås [Fri, 9 Nov 2018 22:58:56 +0000 (23:58 +0100)]
post-release version bump
Øyvind Kolås [Fri, 9 Nov 2018 22:56:38 +0000 (23:56 +0100)]
release 0.1.60
Øyvind Kolås [Fri, 9 Nov 2018 01:00:35 +0000 (02:00 +0100)]
docs: fix typo
Øyvind Kolås [Tue, 6 Nov 2018 13:18:20 +0000 (14:18 +0100)]
babl: permit registering model conversions for non-rgb models
Øyvind Kolås [Sat, 3 Nov 2018 12:44:42 +0000 (13:44 +0100)]
babl-image: thread-proof single item cache of babl-images
Fixes issue #26, in the end spotted by massimo - for now fixed using gcc
extensions rather than also generically with a mutex.
Øyvind Kolås [Fri, 2 Nov 2018 15:34:58 +0000 (16:34 +0100)]
babl_space_get_icc: permit passing NULL for return length
Øyvind Kolås [Sun, 28 Oct 2018 02:08:30 +0000 (03:08 +0100)]
babl: make babl_model_is deal with NULL input
Øyvind Kolås [Mon, 22 Oct 2018 19:41:46 +0000 (21:41 +0200)]
babl: palette, improve assert in pala_to_rgba
Ell [Sun, 21 Oct 2018 09:18:36 +0000 (05:18 -0400)]
cairo: accelerate R'G'B'A u8 -> cairo-ARGB32 conversion
Accelerate the R'G'B'A u8 -> cairo-ARGB32 conversion by processing
the entire RGBA tuple in parallel (or, on 32-bit machines, in two
parts), instead of component-by-component, using wide integer
arithmetic/logic. This speeds the conversion up by ~25%.
Øyvind Kolås [Fri, 5 Oct 2018 14:21:19 +0000 (16:21 +0200)]
post-release version bump
Øyvind Kolås [Fri, 5 Oct 2018 14:19:38 +0000 (16:19 +0200)]
release 0.1.58
Øyvind Kolås [Wed, 3 Oct 2018 10:35:59 +0000 (12:35 +0200)]
NEWS: update
Øyvind Kolås [Wed, 3 Oct 2018 11:20:40 +0000 (13:20 +0200)]
CIE: replace tabs in indentation with spaces
Massimo Valentini [Wed, 3 Oct 2018 10:38:28 +0000 (12:38 +0200)]
CIE: fix some wrong src/dst increments, issue #22
Elle Stone [Fri, 21 Sep 2018 12:40:33 +0000 (08:40 -0400)]
CIE: Add xyY color space conversions
Issue #22
Ell [Sat, 22 Sep 2018 00:15:14 +0000 (20:15 -0400)]
sse2-float: don't modify input data during rgba -> rgbA conversion
Øyvind Kolås [Wed, 19 Sep 2018 10:01:55 +0000 (12:01 +0200)]
NEWS: update news for 0.1.58 release
Øyvind Kolås [Tue, 11 Sep 2018 15:06:14 +0000 (17:06 +0200)]
docs: add section about premultiplied alpha
Øyvind Kolås [Tue, 4 Sep 2018 17:09:07 +0000 (19:09 +0200)]
babl-fish-reference: add lock to part of float reference
This fixes problems that occur during GEGLs documentation gallery build
when multiple threads are in use (the default). The critical section has
experimentally been made as short as possible to avoid babl memory
inconsistencies - without identifing the core race.
Øyvind Kolås [Fri, 31 Aug 2018 12:34:04 +0000 (14:34 +0200)]
babl: babl_free now complains and bail instead of aborting on unknown memory
Øyvind Kolås [Fri, 31 Aug 2018 10:54:10 +0000 (12:54 +0200)]
babl: remove more missing fast path warnings
We no longer want to warn, since warnings are also triggered when the
fast path is better than the best path found, something that happens
when we-re finding long paths and the reference is better.
Maybe we should still print warnings according to better heuristics to be able
to warn and encourage complete fast path coverage, fast paths should still be
able to beat the reference in a few steps.
Øyvind Kolås [Fri, 31 Aug 2018 09:18:30 +0000 (11:18 +0200)]
babl-fish-reference: factor out separate function for float/double
babl_fish_reference_process now only contains the dispatch tree that
tries various fast paths first before ending up in the float or double
synthetic references.
Øyvind Kolås [Fri, 31 Aug 2018 09:18:05 +0000 (11:18 +0200)]
base: model-gray: remove special case for black transparent premul
Øyvind Kolås [Thu, 30 Aug 2018 11:21:02 +0000 (13:21 +0200)]
babl: switch behavior of reference precision enum
It is now called BABL_REFERENCE_NOFLOAT and if set babl is not using the
generic mechanism to synthesize many possible float<->float conversions.
Øyvind Kolås [Thu, 30 Aug 2018 12:26:37 +0000 (14:26 +0200)]
Revert "special case all 0 to map to all 0 in nonpremul"
This reverts commit
18dea5104f3de79af5e9641a0ef47435b112d44b.
We want to be able to do component by component average/weighting of
remultiplied values, by breaking the floor for black alpha zero we
break the consistency of such arithmetic.
Øyvind Kolås [Thu, 30 Aug 2018 00:50:38 +0000 (02:50 +0200)]
tools: fix utf8 mode of diagram, change gradient unit in html
The gradient in the html mode is now pixels per time, not bytes
read+written per time, which seem to be more fair in assessing
the reference conversions of
different pixel sizes.
Øyvind Kolås [Thu, 30 Aug 2018 00:03:32 +0000 (02:03 +0200)]
babl-fish-reference: escape to double when single is too hard
If we do not have the conversions for to/from RGBA float - bail as early as
possible to the double code path instead.
Øyvind Kolås [Thu, 30 Aug 2018 00:01:18 +0000 (02:01 +0200)]
babl-fish: handle case of no from_list in source