Øyvind Kolås [Mon, 3 May 2021 21:26:59 +0000 (23:26 +0200)]
build: remove push_web target
ci/meson has started failing due to missing scp binary.
John [Fri, 26 Feb 2021 07:19:44 +0000 (07:19 +0000)]
build: subproject improvements:
- don't expose source in dependency to avoid name clashes
- add babl path variables to dependency object
- add babl path variables to uninstalled pc
Øyvind Kolås [Fri, 26 Feb 2021 12:07:42 +0000 (13:07 +0100)]
post release version bump
Øyvind Kolås [Fri, 26 Feb 2021 12:06:51 +0000 (13:06 +0100)]
release 0.1.86
Øyvind Kolås [Fri, 26 Feb 2021 12:06:20 +0000 (13:06 +0100)]
NEWS: update
santouits [Sun, 6 Sep 2020 12:16:52 +0000 (15:16 +0300)]
Another project can add babl as a subproject
Øyvind Kolås [Thu, 25 Feb 2021 20:51:55 +0000 (21:51 +0100)]
ci: remove request for specific arch glibc version
We're getting the version by forcing a specific base image, and ignoring
glibc updates.
Øyvind Kolås [Thu, 25 Feb 2021 20:27:26 +0000 (21:27 +0100)]
ci: use archlinux:base-
20210214.0.15477 as base for building
This gives us an arch base from before the glibc version that enforces
a newer glibc package that has a hard dependency on a newer linux
kernel.
Øyvind Kolås [Thu, 25 Feb 2021 19:15:06 +0000 (20:15 +0100)]
babl: babl-fish-reference remove superfluous set of dst_img->type[0]
As reported by Rafał Mikrut, fixing issue #57.
Bartłomiej Piotrowski [Fri, 19 Feb 2021 09:40:48 +0000 (10:40 +0100)]
ci: Unbreak archlinux-based CI
Recently Arch has changed its glibc package to require kernel
4.4[1] as a poor man's attempt to disable faccessat2 syscall that
is known to cause problems with old libseccomp and Docker. Downgrade
glibc to the pkgrel before the change and ensure it's not upgraded.
Additionally switch to the official Arch Linux image in the library
namespace. The base image has been deprecated.
[1] https://github.com/archlinux/svntogit-packages/commit/
893b1c268abc8822332655865e3d4546025a9b4b
Øyvind Kolås [Thu, 18 Feb 2021 19:45:13 +0000 (20:45 +0100)]
build: revert glibc workaround for arch CI
Øyvind Kolås [Thu, 18 Feb 2021 19:38:14 +0000 (20:38 +0100)]
build: add -y parameter to glibc pacman workaround
Øyvind Kolås [Thu, 18 Feb 2021 19:36:12 +0000 (20:36 +0100)]
build: attempt forcing of older glibc to unbreak CI
Øyvind Kolås [Wed, 3 Feb 2021 00:08:27 +0000 (01:08 +0100)]
icc: make babl_space_from_icc threadsafe
When multiple threads concurrently try to use ICC profiles / spaces
races during construction could cause broken internal representation of
profiles.
Øyvind Kolås [Wed, 3 Feb 2021 00:00:16 +0000 (01:00 +0100)]
icc: add offset bounds checks to read_sign
Øyvind Kolås [Sat, 23 Jan 2021 16:00:21 +0000 (17:00 +0100)]
babl: support creating babl spaces from input-class ICC profiles
Øyvind Kolås [Thu, 17 Dec 2020 10:33:33 +0000 (11:33 +0100)]
post release version bump
Øyvind Kolås [Thu, 17 Dec 2020 10:32:34 +0000 (11:32 +0100)]
release 0.1.84
Øyvind Kolås [Mon, 30 Nov 2020 04:11:18 +0000 (05:11 +0100)]
babl: fix bug in caching of CMYK profiles
The check for duplicates was gumming up the CMYK profile initialization,
causing babl internal CMYK to be used instead and the original icc
profile to be lost.
Øyvind Kolås [Sun, 4 Oct 2020 16:46:49 +0000 (18:46 +0200)]
post release version bump
Øyvind Kolås [Sun, 4 Oct 2020 16:37:19 +0000 (18:37 +0200)]
release 0.1.82
Øyvind Kolås [Fri, 7 Aug 2020 21:12:15 +0000 (23:12 +0200)]
babl: code handling ICC v4, CIE TRC formulas
Øyvind Kolås [Fri, 7 Aug 2020 20:03:51 +0000 (22:03 +0200)]
babl: expand sRGB formula trc storage with 2 more parameters
Øyvind Kolås [Fri, 7 Aug 2020 19:59:36 +0000 (21:59 +0200)]
babl: handle 7 parameter ICC v4 TRCs
Øyvind Kolås [Sun, 2 Aug 2020 20:25:44 +0000 (22:25 +0200)]
post release version bump
Øyvind Kolås [Sun, 2 Aug 2020 20:15:15 +0000 (22:15 +0200)]
release 0.1.80
Øyvind Kolås [Thu, 9 Jul 2020 15:36:07 +0000 (17:36 +0200)]
export-symbold: add babl_space_get_gamma
Øyvind Kolås [Wed, 8 Jul 2020 20:19:11 +0000 (22:19 +0200)]
add new API babl_space_get_gamma
A need that has arisen in PNG export is knowing if the gamma is a simple
gamma and the gAMA tag can be used instead of a full ICC profile.
Michael Catanzaro [Mon, 29 Jun 2020 18:35:29 +0000 (18:35 +0000)]
Revert "Revert "build: clean up version script handling""
This reverts commit
fae1260c751f963863ed8f3feb25d81914b93ada
Michael Catanzaro [Mon, 29 Jun 2020 13:11:33 +0000 (13:11 +0000)]
Revert "build: clean up version script handling"
This reverts commit
5cf4fdf01da2a905553d687116b24f0242e9b6b5
Øyvind Kolås [Sat, 13 Jun 2020 21:20:42 +0000 (23:20 +0200)]
babl: avoid potential NULL deref of malloc result in ICC code
John Marshall [Thu, 25 Jun 2020 07:02:03 +0000 (08:02 +0100)]
Build: change can run flag name for clarity
- change cc_can_run to can_run_host_binaries (per upcoming meson change)
John Marshall [Thu, 25 Jun 2020 06:07:48 +0000 (07:07 +0100)]
build: add dependency checks for gir/vala
John Marshall [Wed, 24 Jun 2020 19:14:34 +0000 (20:14 +0100)]
build: gir - set nsversion from api_version var
John Marshall [Wed, 24 Jun 2020 17:00:38 +0000 (18:00 +0100)]
build: clean up version script handling
- ensure that symbol list dependency is correctly handled
- add shebang to python script to let meson do the interpreter selection
John Marshall [Wed, 24 Jun 2020 15:45:10 +0000 (16:45 +0100)]
build: only check for link arg --no-undefined once
John Marshall [Sun, 7 Jun 2020 14:54:43 +0000 (15:54 +0100)]
build: code cleanup
John Marshall [Sun, 7 Jun 2020 14:53:29 +0000 (15:53 +0100)]
build: fix build failure
- check for usnsupported args with clang cross-compile to windows
John Marshall [Wed, 24 Jun 2020 09:57:26 +0000 (10:57 +0100)]
build: remove unnecessary environment variables
John Marshall [Wed, 20 May 2020 09:50:07 +0000 (10:50 +0100)]
git: remove obsolete .gitignore files
John Marshall [Wed, 20 May 2020 14:10:10 +0000 (15:10 +0100)]
build: improve gir build
- change build option to auto/true/false
- auto=false if cross build true otherwise
John Marshall [Tue, 2 Jun 2020 16:01:21 +0000 (17:01 +0100)]
build: improve portability of git-version.h gen
- use git to check if building from a git repo
- remove dependency on test program
John Marshall [Wed, 27 May 2020 11:20:10 +0000 (12:20 +0100)]
build: add build path variables
- add build path variables for library and extensions
John Marshall [Wed, 20 May 2020 14:23:48 +0000 (15:23 +0100)]
build: add configuration message
- list configured options and features in a similar manner to GEGL
John Marshall [Wed, 20 May 2020 11:44:37 +0000 (12:44 +0100)]
build: improve build checks
- reverse order of cpu extension checks and compiler argument checks
- so we don't check disabled options
John Marshall [Wed, 20 May 2020 11:35:35 +0000 (12:35 +0100)]
build: remove obsolete file
- xml_insert.sh
John Marshall [Wed, 20 May 2020 11:34:44 +0000 (12:34 +0100)]
build: improve doc build
- change build option to auto/true/false
- auto=false if cross build true otherwise
- replace xml_insert.sh with python script to allow doc gen on msys
John Marshall [Wed, 20 May 2020 11:21:45 +0000 (12:21 +0100)]
build: reformat meson_options.txt to improve readability
John Marshall [Wed, 20 May 2020 09:36:00 +0000 (10:36 +0100)]
docs: clean up docs
- add news to table of contents
- change authors header level to 2 for consistency
Øyvind Kolås [Sun, 7 Jun 2020 17:40:34 +0000 (19:40 +0200)]
babl: post release version bump
Øyvind Kolås [Sun, 7 Jun 2020 17:37:00 +0000 (19:37 +0200)]
release 0.1.78
Øyvind Kolås [Sun, 7 Jun 2020 16:47:57 +0000 (18:47 +0200)]
babl: s/__GNU_SOURCE/_GNU_SOURCE/ fixing issue #59
Ell [Sun, 7 Jun 2020 16:59:14 +0000 (19:59 +0300)]
palette: annotate BablPalette::radii as atomic
Øyvind Kolås [Thu, 28 May 2020 12:07:20 +0000 (14:07 +0200)]
tests: use putenv when setting env vars, for win32 compatibility
Øyvind Kolås [Wed, 27 May 2020 03:19:08 +0000 (05:19 +0200)]
post release version bump
Øyvind Kolås [Wed, 27 May 2020 02:46:49 +0000 (04:46 +0200)]
release babl-0.1.76
Øyvind Kolås [Wed, 27 May 2020 01:58:39 +0000 (03:58 +0200)]
NEWS: update
Øyvind Kolås [Thu, 14 May 2020 15:55:05 +0000 (17:55 +0200)]
tests: add test that creates the base fishes expected by GIMP
Øyvind Kolås [Sun, 24 May 2020 18:01:54 +0000 (20:01 +0200)]
babl: extend BABL_DEBUG_MISSING output
Report lengths of all searched for fishes.
Øyvind Kolås [Sun, 24 May 2020 02:53:23 +0000 (04:53 +0200)]
babl: improve debug output for BABL_DEBUG_MISSING
Report both missing fishes and fishes that occur at the maximum search
depth.
Øyvind Kolås [Sun, 24 May 2020 02:04:15 +0000 (04:04 +0200)]
babl: increase precision of error included in babl-fishes cache
Øyvind Kolås [Sun, 24 May 2020 01:15:07 +0000 (03:15 +0200)]
babl: progressively increase search depth from 2 to 4
Follow-on from previous commit, the specific paths looked for
that are longer than 2 involving formats with spaces are 3
steps long. Doing a 4 step deep search in these common cases
still introduces noticable "warm-up" jankiness in GIMP.
To additionally ensure we're not missing used valid and faster
than reference conversions in GIMP-2.10 we do an additional
search at depth 5 when no converison had been found *and* the
destination format has a space differing from sRGB.
asdf
Øyvind Kolås [Sat, 23 May 2020 16:53:36 +0000 (18:53 +0200)]
babl: search depth of 2 and 4, instead of 2 and 5
Conversions needed for color management in GIMP are not feasible in 2
steps, searching 5 deep for commonly used conversions causes severe UI
stalls, lowering the max search depth to 4 avoids this regression
introduced in
51437f216dbbef80f9bf661dd152452083119349, while keeping
the speed-up for other cases.
Ell [Mon, 18 May 2020 17:58:57 +0000 (20:58 +0300)]
palette: clean trailing whitespace
Ell [Mon, 18 May 2020 17:47:49 +0000 (20:47 +0300)]
palette: delay sorted radius vectors construction until needed
In babl-palette, when C11 atomic operations are available, don't
construct the sorted radius vectors on palette setup, but rather
when first converting from RGB to the palette format. This avoids
the costly vector-construction step for palettes that are never
used as the destination format of a conversion.
Ell [Mon, 18 May 2020 06:53:58 +0000 (09:53 +0300)]
HSV, HSL, HCY: wrap hue around during conversion to RGB
In the conversions from HSV, HSL, and HCY to RGB, wrap the hue
value around to the [0,1) range, instead of producing unspecified
results outside this range. In particular, hue=1.0 may arise when
going through lower precision, such as when decomposing/recomposing
an 8-bit image in GIMP (see gimp#5097).
Øyvind Kolås [Fri, 15 May 2020 00:56:46 +0000 (02:56 +0200)]
babl: adjust search depth for fishes in first pass
Search first only to a depth of 2, and accept the fastest found if any
faster than reference is found, if not search to depth 5. We lose out in
the unlikely to be frequent cases where 2-step babl fishes exist and a 3
step fish is faster. And gain the fishes where 4 step is faster than 3
(which was the old first pass search depth).
Øyvind Kolås [Thu, 14 May 2020 15:53:50 +0000 (17:53 +0200)]
babl: slightly pad source buffers for creating conversions
This is done because many babls conversions get optimized by C compilers
to read 16bytes of data at a time. Causing valgrind to report
"Invalid read of size 16" as a false positive. By padding the data at
least when creating conversions we mask the false positives.
Niels De Graef [Mon, 12 Aug 2019 04:58:56 +0000 (06:58 +0200)]
meson: Generate VAPI file
This can be used to call Babl from Vala. This is also very useful when
we want to do the same thing (calling from vala) for GIMP 3.x
Jan Vesely [Wed, 29 Apr 2020 05:08:15 +0000 (01:08 -0400)]
gitlab-ci: Manage pacman cache
Drop unused packages from download cache.
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Jan Vesely [Tue, 25 Feb 2020 18:15:39 +0000 (13:15 -0500)]
gitlab-ci: Cleanup
We only use meson now
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
Øyvind Kolås [Sun, 3 May 2020 10:13:14 +0000 (12:13 +0200)]
tests: add a test for naive CMYK conversion
Øyvind Kolås [Sun, 3 May 2020 10:12:52 +0000 (12:12 +0200)]
babl: fix naive CMYK reference to do 100% pullout
Ell [Sun, 12 Apr 2020 14:39:04 +0000 (17:39 +0300)]
avx2-int8: slightly improve accuracy of linear -> gamma tables
Ell [Sun, 12 Apr 2020 14:42:16 +0000 (17:42 +0300)]
avx2-int8: add gamma u8 -> linear float conversions
Add AVX2 conversions from u8 Y', Y'A, R'G'B, and R'G'B'A to float
Y, YA, RGB, and RGBA, respectively. The conversions use an LUT
together with the AVX2 gather instructions to process 8 values a
once. Depending on the formats and cache utilization, the new
conversions are between 1.25x to 2.2x faster than the existing
conversions.
Øyvind Kolås [Sat, 15 Feb 2020 06:29:27 +0000 (07:29 +0100)]
babl: improve indentation in babl-fish-path.c
Øyvind Kolås [Sat, 15 Feb 2020 06:22:25 +0000 (07:22 +0100)]
babl: babl-fish-path improve portability for ppc
Quoting his explaination for why this fixes things (the other half of
the same function was already portable.)
"This breaks on PowerPC 32-bit, because the calling convention for
passing a union is to pass a pointer to a temporary copy of the union.
This pointer isn't as a function pointer. On some other platforms, the
call would just copy the union, which is like copying the function
pointer. On all platforms, the compiler doesn't check the type, because
babl_conversion_new() has a va_arg(3) prototype."
Portabilitiy issue figured out by George Koehler, This fixes issue #24.
Øyvind Kolås [Sun, 12 Jan 2020 23:25:15 +0000 (00:25 +0100)]
post release version bump
Øyvind Kolås [Sun, 12 Jan 2020 23:01:05 +0000 (00:01 +0100)]
release 0.1.74
Øyvind Kolås [Sun, 12 Jan 2020 22:59:13 +0000 (23:59 +0100)]
docs/tools/xml_insert: fix awk warning
Øyvind Kolås [Sun, 12 Jan 2020 22:56:02 +0000 (23:56 +0100)]
Revert "babl: adjust default BABL_TOLERANCE"
This reverts commit
e41da81b67128a8d29d8fd106e5b1ac53da16ecb.
Øyvind Kolås [Sun, 12 Jan 2020 22:47:08 +0000 (23:47 +0100)]
meson: globally opt out of unsafe math optimizations
Thus closing issue #49, with a decision to opt for fully predictable
math, and increasing the ability to extend the use of hashes in result
image tests in GEGL.
Øyvind Kolås [Sun, 12 Jan 2020 22:31:33 +0000 (23:31 +0100)]
Revert "build: opt out of unsafe math optimizations in reference and base"
This reverts commit
84128d538aa4f189c31d296d04084762ce062107.
after having set global cflags opting out of unsafe math see issue #49.
Øyvind Kolås [Thu, 28 Nov 2019 17:13:09 +0000 (18:13 +0100)]
tests: squelch clang warnings of using fabs on integer
Øyvind Kolås [Thu, 28 Nov 2019 17:09:35 +0000 (18:09 +0100)]
CIE: comment out self assignments
This squelches warnings when using clang as the compiler.
Øyvind Kolås [Fri, 8 Nov 2019 18:07:47 +0000 (19:07 +0100)]
build: opt out of unsafe math optimizations in reference and base
This makes the reference code paths used for verifying conversions in
extensions not involve for instance fast reciprocal approximations, see issue
#49. The extensions are still compiled with full optimizations.
Øyvind Kolås [Fri, 8 Nov 2019 12:54:15 +0000 (13:54 +0100)]
babl: adjust default BABL_TOLERANCE
This as a start of fixing issue #49, lower precision code gets generated
on AMD EPYC, due to use of rcpps to get a reciprocal - which has lower
precision on AMD EPYC. The conversions with AMD EPYC gets included with
a small margin - so we should not be shedding many other fast conversions
due to this.
Øyvind Kolås [Thu, 31 Oct 2019 09:03:56 +0000 (10:03 +0100)]
meson: replace tabs with spaces
Alex Samorukov [Thu, 31 Oct 2019 07:14:49 +0000 (08:14 +0100)]
Fix darwin/clang map
Alex Samorukov [Thu, 31 Oct 2019 07:13:07 +0000 (08:13 +0100)]
Add dylib extension for macOS build
Ell [Mon, 28 Oct 2019 05:59:34 +0000 (07:59 +0200)]
meson: improve host cpu detection
See gegl@
6bcf95fd0f32cf5e8b1ddbe17b14d9ad049bded8.
Ell [Fri, 25 Oct 2019 14:08:45 +0000 (17:08 +0300)]
meson: use "debugoptimized" as the default build type
... to match the default autotools behavior.
Ell [Fri, 25 Oct 2019 14:03:38 +0000 (17:03 +0300)]
meson: only use "-Ofast" for optimized builds
Only use "-Ofast" when the build type is either "debugoptimized"
or "release", so that unoptimized builds are possible.
Øyvind Kolås [Thu, 22 Aug 2019 20:18:34 +0000 (22:18 +0200)]
post release version bump
Øyvind Kolås [Thu, 22 Aug 2019 20:11:33 +0000 (22:11 +0200)]
release 0.1.72
Øyvind Kolås [Thu, 22 Aug 2019 20:11:20 +0000 (22:11 +0200)]
cairo: add code path from Y'A float
Øyvind Kolås [Tue, 20 Aug 2019 00:54:51 +0000 (02:54 +0200)]
babl: register gray and gray alpha shortcuts between spaces
The formats "Y float", "YA float" and "YaA float" between different RGB
and gray spaces are all exactly the same. This registers memcpy shortcuts
for these combinations for all spaces. This avoids temporarily expand
into RGBA for many babl path fishes.
Øyvind Kolås [Tue, 20 Aug 2019 00:45:24 +0000 (02:45 +0200)]
half/sse-half: register conversions for YaA as well
Øyvind Kolås [Mon, 19 Aug 2019 23:46:08 +0000 (01:46 +0200)]
float: add conversions to/from associated alpha for grayscale
Further speeds up rotations/scales etc in all grayscale precisions.
Øyvind Kolås [Mon, 19 Aug 2019 23:07:42 +0000 (01:07 +0200)]
float: add grayscale alpha and trc converters