babl.git
6 years agotests: remove duplicate extract test
John Marshall [Tue, 29 May 2018 14:37:08 +0000 (15:37 +0100)]
tests: remove duplicate extract test

6 years agobuild: remove unecessary _la_SOURCE entry from extension makefile
John Marshall [Mon, 1 Apr 2019 10:52:09 +0000 (11:52 +0100)]
build: remove unecessary _la_SOURCE entry from extension makefile

6 years agoremoving conversions-type.c is best done in a different commit
Nuno Ferreira [Sun, 7 Apr 2019 19:38:30 +0000 (20:38 +0100)]
removing conversions-type.c is best done in a different commit

6 years agoremove 'conversions-type.c' file since it is empty
Nuno Ferreira [Sat, 30 Mar 2019 11:15:29 +0000 (11:15 +0000)]
remove 'conversions-type.c' file since it is empty

6 years agocode style review
Nuno Ferreira [Tue, 26 Mar 2019 07:59:15 +0000 (07:59 +0000)]
code style review

fixed style of function headers in the tools folder

6 years agoadd Hygon Dhyana support in arch_get_vendor
hygonsoc [Thu, 2 May 2019 18:36:36 +0000 (02:36 +0800)]
add Hygon Dhyana support in arch_get_vendor

Signed-off-by: hygonsoc <hygonsoc@gmail.com>
6 years agobabl: add Y~aA formats - for completeness
Øyvind Kolås [Thu, 9 May 2019 14:26:37 +0000 (16:26 +0200)]
babl: add Y~aA formats - for completeness

In order for higher level code to be abstracted across all available
permutations we need this. This fixes gegl issue no 151

6 years agobuild: add meson build files to EXTRA_DIST to include in autotools make dist
John Marshall [Sat, 13 Apr 2019 13:21:52 +0000 (14:21 +0100)]
build: add meson build files to EXTRA_DIST to include in autotools make dist

6 years agocode style review
Nuno Ferreira [Tue, 26 Feb 2019 19:47:16 +0000 (19:47 +0000)]
code style review

fixed style of function headers in the babl/extensions folder

6 years agobabl: use inlined lookup functions inside type implementations
Ø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.

6 years agogitlab-ci: Replace base/archlinux with archlinux/base
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>
6 years agobabl: remove some redundant processing in babl_fish_reference
Øyvind Kolås [Sun, 24 Feb 2019 17:25:14 +0000 (18:25 +0100)]
babl: remove some redundant processing in babl_fish_reference

6 years agocode style review
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

6 years agocode style review
Nuno Ferreira [Thu, 21 Feb 2019 23:03:07 +0000 (23:03 +0000)]
code style review

missed this one

6 years agocode style review
Nuno Ferreira [Thu, 21 Feb 2019 22:57:02 +0000 (22:57 +0000)]
code style review

fixed function headers in .c files

6 years agopost-release version bump
Øyvind Kolås [Sat, 2 Feb 2019 19:46:29 +0000 (20:46 +0100)]
post-release version bump

6 years agorelease 0.1.62
Øyvind Kolås [Fri, 1 Feb 2019 16:22:50 +0000 (17:22 +0100)]
release 0.1.62

6 years agoupdate NEWS
Øyvind Kolås [Fri, 1 Feb 2019 16:21:04 +0000 (17:21 +0100)]
update NEWS

6 years agobabl.h: reorder and space out BABL_MODEL_FLAG bitmask
Ø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.

6 years agobabl: rename new space scRGB
Ø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.

6 years agopalette: allow a NULL space in babl_new_palette_with_space()
Michael Natterer [Tue, 1 Jan 2019 18:15:40 +0000 (19:15 +0100)]
palette: allow a NULL space in babl_new_palette_with_space()

6 years agoexport symbol 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

6 years agoNEWS: update
Øyvind Kolås [Sat, 8 Dec 2018 10:29:21 +0000 (11:29 +0100)]
NEWS: update

7 years agoReplace Bugzilla by Gitlab URL in DOAP file
Andre Klapper [Sat, 15 Dec 2018 18:09:33 +0000 (19:09 +0100)]
Replace Bugzilla by Gitlab URL in DOAP file

7 years agoUpdate autogen.sh, typo: intall -> install
apw [Sat, 28 Jul 2018 06:03:39 +0000 (06:03 +0000)]
Update autogen.sh, typo: intall -> install

7 years agoMerge branch 'jvesely/babl-master'
Øyvind Kolås [Thu, 6 Dec 2018 22:18:09 +0000 (23:18 +0100)]
Merge branch 'jvesely/babl-master'

7 years agogitlab-ci: Add builds without liblcms2
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>
7 years agomeson: Fix build setup wihtout lcms
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>
7 years agotests: remove context-less debug printfs
Øyvind Kolås [Thu, 6 Dec 2018 21:53:29 +0000 (22:53 +0100)]
tests: remove context-less debug printfs

7 years agobabl: fix building reference-fish without lcms2
Øyvind Kolås [Thu, 6 Dec 2018 21:34:34 +0000 (22:34 +0100)]
babl: fix building reference-fish without lcms2

7 years agoMerge branch 'jvesely/babl-master'
Øyvind Kolås [Thu, 6 Dec 2018 21:12:09 +0000 (22:12 +0100)]
Merge branch 'jvesely/babl-master'

7 years agotests: add code that processes a palette format with changed space
Ø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

7 years agoAdd gitlab CI configuration
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>
7 years agomeson: Add with-lcms option
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>
7 years agomeson: Remove duplicate rule for config.h
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>
7 years agomeson: Add missing mode-cmyk.c file to source list
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>
7 years agobabl: make babl_format_with_space not crash with palette based formats
Ø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.)

7 years agobabl: add babl_new_palette_with_space
Ø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.

7 years agobabl: special case palette formats in babl_format_with_space
Ø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.

7 years agotests: fix bit-rot in palette tests
Ø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.

7 years agobuild: do tests last, for better make check output
Øyvind Kolås [Wed, 5 Dec 2018 02:36:50 +0000 (03:36 +0100)]
build: do tests last, for better make check output

7 years agotests: update cairo hack with final format names
Øyvind Kolås [Mon, 3 Dec 2018 23:41:56 +0000 (00:41 +0100)]
tests: update cairo hack with final format names

7 years agocairo: make mapping of cmyk subset easier
Ø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.

7 years agocairo: move CMYK extension formats here
Ø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.

7 years agobabl: rename babl_model_get_flags to babl_get_model_flags
Ø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

7 years agobabl: do not synthesize missing components
Ø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.

7 years agoadd a format for muxing cmyk u8 in and out of rgba u8 buffers
Ø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

7 years agobabl-fish-reference: do cmyk to cmyk conversions
Øyvind Kolås [Sun, 2 Dec 2018 02:09:17 +0000 (03:09 +0100)]
babl-fish-reference: do cmyk to cmyk conversions

7 years agobase: add more u8 cmyk formats
Øyvind Kolås [Sun, 2 Dec 2018 22:48:28 +0000 (23:48 +0100)]
base: add more u8 cmyk formats

7 years agobabl: make babl_model_get_flags also accept format
Ø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.

7 years agodocs: remove todo item referring to CMYK
Øyvind Kolås [Sun, 2 Dec 2018 18:31:45 +0000 (19:31 +0100)]
docs: remove todo item referring to CMYK

7 years agodocs: update
Øyvind Kolås [Sun, 2 Dec 2018 16:29:59 +0000 (17:29 +0100)]
docs: update

7 years agobase: add half version of CMYK formats
Øyvind Kolås [Sat, 1 Dec 2018 20:35:46 +0000 (21:35 +0100)]
base: add half version of CMYK formats

7 years agobabl: remove dead code
Øyvind Kolås [Sat, 1 Dec 2018 20:35:23 +0000 (21:35 +0100)]
babl: remove dead code

7 years agobabl-fish-reference: keep source/destination space in local variables
Øyvind Kolås [Sat, 1 Dec 2018 20:35:11 +0000 (21:35 +0100)]
babl-fish-reference: keep source/destination space in local variables

7 years ago*/Makefile.am: add LCMS_CFLAGS to CPPFLAGS
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.

7 years agobase: add linear meta-data to relevant gray model
Øyvind Kolås [Wed, 28 Nov 2018 01:51:51 +0000 (02:51 +0100)]
base: add linear meta-data to relevant gray model

7 years agobase: ass linear bit to rgb and ragaba models
Øyvind Kolås [Wed, 28 Nov 2018 01:17:27 +0000 (02:17 +0100)]
base: ass linear bit to rgb and ragaba models

7 years agobabl: harmonize order of fields in image/model/format
Øyvind Kolås [Tue, 27 Nov 2018 19:41:23 +0000 (20:41 +0100)]
babl: harmonize order of fields in image/model/format

7 years agoexport-symbols: add babl_model_get_flags
Øyvind Kolås [Tue, 27 Nov 2018 18:54:55 +0000 (19:54 +0100)]
export-symbols: add babl_model_get_flags

7 years agotools: change debug tolerance to avoid segfaults
Øyvind Kolås [Tue, 27 Nov 2018 02:53:40 +0000 (03:53 +0100)]
tools: change debug tolerance to avoid segfaults

7 years agobabl: decrease tolerance
Ø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

7 years agobabl.h: reorder BablModelFlag typedef and enum for C++ compatibility
Øyvind Kolås [Mon, 26 Nov 2018 23:42:45 +0000 (00:42 +0100)]
babl.h: reorder BablModelFlag typedef and enum for C++ compatibility

7 years agobabl: add meta data to RGBA model in core
Øyvind Kolås [Mon, 26 Nov 2018 23:28:15 +0000 (00:28 +0100)]
babl: add meta data to RGBA model in core

7 years agobabl: add linear model meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:25:19 +0000 (00:25 +0100)]
babl: add linear model meta data

7 years agoycbcr: add model alpha meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:24:25 +0000 (00:24 +0100)]
ycbcr: add model alpha meta data

7 years agoHSV: add alpha model meta data
Øyvind Kolås [Mon, 26 Nov 2018 23:24:10 +0000 (00:24 +0100)]
HSV: add alpha model meta data

7 years agoHSL: 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

7 years agoHCY: add alpha meta data for model
Øyvind Kolås [Mon, 26 Nov 2018 23:22:37 +0000 (00:22 +0100)]
HCY: add alpha meta data for model

7 years agoCIE: add metadata to models
Øyvind Kolås [Mon, 26 Nov 2018 23:17:47 +0000 (00:17 +0100)]
CIE: add metadata to models

7 years agobabl: add bitmask flags for meta-data about 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.

7 years agobabl: fix bad relative include
Øyvind Kolås [Sat, 24 Nov 2018 03:13:24 +0000 (04:13 +0100)]
babl: fix bad relative include

7 years agobuild: remove remnants of CMYK extension
Øyvind Kolås [Sat, 24 Nov 2018 03:13:06 +0000 (04:13 +0100)]
build: remove remnants of CMYK extension

7 years agodocs: update with information about CMYK
Øyvind Kolås [Mon, 12 Nov 2018 22:36:51 +0000 (23:36 +0100)]
docs: update with information about CMYK

7 years agobabl: implement CMYK color model in reference and base
Ø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.

7 years agobuild: check for and link against lcms2
Øyvind Kolås [Mon, 12 Nov 2018 22:30:07 +0000 (23:30 +0100)]
build: check for and link against lcms2

7 years agobabl: comment out unused model_is_rgba
Øyvind Kolås [Mon, 12 Nov 2018 22:36:42 +0000 (23:36 +0100)]
babl: comment out unused model_is_rgba

7 years agobabl-fish: print error message instead of blowing stack
Øyvind Kolås [Fri, 16 Nov 2018 00:50:22 +0000 (01:50 +0100)]
babl-fish: print error message instead of blowing stack

7 years agotests: make srgb-to-lab-u8 also compile stand-alone
Øyvind Kolås [Fri, 16 Nov 2018 21:32:10 +0000 (22:32 +0100)]
tests: make srgb-to-lab-u8 also compile stand-alone

7 years agobabl: properly cache runtime inserted conversions
Ø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.

7 years agobabl: avoid re-creating some existing conversions
Øyvind Kolås [Fri, 16 Nov 2018 01:50:15 +0000 (02:50 +0100)]
babl: avoid re-creating some existing conversions

7 years agopost-release version bump
Øyvind Kolås [Fri, 9 Nov 2018 22:58:56 +0000 (23:58 +0100)]
post-release version bump

7 years agorelease 0.1.60
Øyvind Kolås [Fri, 9 Nov 2018 22:56:38 +0000 (23:56 +0100)]
release 0.1.60

7 years agodocs: fix typo
Øyvind Kolås [Fri, 9 Nov 2018 01:00:35 +0000 (02:00 +0100)]
docs: fix typo

7 years agobabl: permit registering model conversions for non-rgb models
Øyvind Kolås [Tue, 6 Nov 2018 13:18:20 +0000 (14:18 +0100)]
babl: permit registering model conversions for non-rgb models

7 years agobabl-image: thread-proof single item cache of babl-images
Ø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.

7 years agobabl_space_get_icc: permit passing NULL for return length
Øyvind Kolås [Fri, 2 Nov 2018 15:34:58 +0000 (16:34 +0100)]
babl_space_get_icc: permit passing NULL for return length

7 years agobabl: make babl_model_is deal with NULL input
Øyvind Kolås [Sun, 28 Oct 2018 02:08:30 +0000 (03:08 +0100)]
babl: make babl_model_is deal with NULL input

7 years agobabl: palette, improve assert in pala_to_rgba
Øyvind Kolås [Mon, 22 Oct 2018 19:41:46 +0000 (21:41 +0200)]
babl: palette, improve assert in pala_to_rgba

7 years agocairo: accelerate R'G'B'A u8 -> cairo-ARGB32 conversion
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%.

7 years agopost-release version bump
Øyvind Kolås [Fri, 5 Oct 2018 14:21:19 +0000 (16:21 +0200)]
post-release version bump

7 years agorelease 0.1.58
Øyvind Kolås [Fri, 5 Oct 2018 14:19:38 +0000 (16:19 +0200)]
release 0.1.58

7 years agoNEWS: update
Øyvind Kolås [Wed, 3 Oct 2018 10:35:59 +0000 (12:35 +0200)]
NEWS: update

7 years agoCIE: replace tabs in indentation with spaces
Øyvind Kolås [Wed, 3 Oct 2018 11:20:40 +0000 (13:20 +0200)]
CIE: replace tabs in indentation with spaces

7 years agoCIE: fix some wrong src/dst increments, issue #22
Massimo Valentini [Wed, 3 Oct 2018 10:38:28 +0000 (12:38 +0200)]
CIE: fix some wrong src/dst increments, issue #22

7 years agoCIE: Add xyY color space conversions
Elle Stone [Fri, 21 Sep 2018 12:40:33 +0000 (08:40 -0400)]
CIE: Add xyY color space conversions

Issue #22

7 years agosse2-float: don't modify input data during rgba -> rgbA conversion
Ell [Sat, 22 Sep 2018 00:15:14 +0000 (20:15 -0400)]
sse2-float: don't modify input data during rgba -> rgbA conversion

7 years agoNEWS: update news for 0.1.58 release
Øyvind Kolås [Wed, 19 Sep 2018 10:01:55 +0000 (12:01 +0200)]
NEWS: update news for 0.1.58 release

7 years agodocs: add section about premultiplied alpha
Øyvind Kolås [Tue, 11 Sep 2018 15:06:14 +0000 (17:06 +0200)]
docs: add section about premultiplied alpha

7 years agobabl-fish-reference: add lock to part of float reference
Ø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.