Hello community, here is the log from the commit of package babl for openSUSE:Factory checked in at 2017-07-11 08:34:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/babl (Old) and /work/SRC/openSUSE:Factory/.babl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "babl" Tue Jul 11 08:34:20 2017 rev:32 rq:508138 version:0.1.28 Changes: -------- --- /work/SRC/openSUSE:Factory/babl/babl.changes 2017-05-27 13:12:13.663565705 +0200 +++ /work/SRC/openSUSE:Factory/.babl.new/babl.changes 2017-07-11 08:34:22.647233343 +0200 @@ -1,0 +2,7 @@ +Tue Jul 4 10:29:34 UTC 2017 - zai...@opensuse.org + +- Update to version 0.1.28: + + Fast paths for Lav <-> Lch, release triggered by pending GIMP + release. + +------------------------------------------------------------------- Old: ---- babl-0.1.26.tar.bz2 New: ---- babl-0.1.28.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ babl.spec ++++++ --- /var/tmp/diff_new_pack.MUY749/_old 2017-07-11 08:34:23.287143063 +0200 +++ /var/tmp/diff_new_pack.MUY749/_new 2017-07-11 08:34:23.287143063 +0200 @@ -18,7 +18,7 @@ Name: babl Url: http://gegl.org/babl/ -Version: 0.1.26 +Version: 0.1.28 Release: 0 Summary: Dynamic Pixel Format Translation Library License: LGPL-3.0+ ++++++ babl-0.1.26.tar.bz2 -> babl-0.1.28.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/AUTHORS new/babl-0.1.28/AUTHORS --- old/babl-0.1.26/AUTHORS 2017-02-01 00:27:20.000000000 +0100 +++ new/babl-0.1.28/AUTHORS 2017-05-30 23:37:55.000000000 +0200 @@ -74,4 +74,6 @@ <dd>Portability, Stability and more</dd> <dt>Massimo Valentini</dt> <dd>stability fixes</dd> + <dt>Ell</dt> + <dd>fast paths</dd> </dl> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/INSTALL new/babl-0.1.28/INSTALL --- old/babl-0.1.26/INSTALL 2017-05-09 18:17:14.000000000 +0200 +++ new/babl-0.1.28/INSTALL 2017-05-30 23:41:13.000000000 +0200 @@ -1,5 +1,5 @@ -babl 0.1.26 +babl 0.1.28 Dynamic; any to any, pixel format conversion library. @@ -12,10 +12,10 @@ installation (or a variation on this theme): ------------------------------------------------------------ - foo$ wget ftp://ftp.gtk.org/pub/babl/0.1/babl-0.1.26.tar.bz2 - foo$ tar jxf babl-0.1.26.tar.gz - foo$ cd babl-0.1.26 - foo/babl-0.1.26$ ./configure && make && sudo make install + foo$ wget ftp://ftp.gtk.org/pub/babl/0.1/babl-0.1.28.tar.bz2 + foo$ tar jxf babl-0.1.28.tar.gz + foo$ cd babl-0.1.28 + foo/babl-0.1.28$ ./configure && make && sudo make install ------------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/Makefile.in new/babl-0.1.28/Makefile.in --- old/babl-0.1.26/Makefile.in 2017-05-09 18:16:59.000000000 +0200 +++ new/babl-0.1.28/Makefile.in 2017-05-30 23:41:00.000000000 +0200 @@ -195,7 +195,7 @@ am__DIST_COMMON = $(srcdir)/INSTALL.in $(srcdir)/Makefile.in \ $(srcdir)/babl.pc.in $(srcdir)/config.h.in AUTHORS COPYING \ INSTALL NEWS README TODO compile config.guess config.sub \ - install-sh ltmain.sh missing + depcomp install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/NEWS new/babl-0.1.28/NEWS --- old/babl-0.1.26/NEWS 2017-05-09 18:30:06.000000000 +0200 +++ new/babl-0.1.28/NEWS 2017-05-30 23:39:22.000000000 +0200 @@ -6,6 +6,9 @@ --> +2017-05-30 babl-0.1.28 </dt><dd> +Fast paths for Lav <-> Lch, release triggered by pending GIMP release. + </dd><dt> 2017-05-09 babl-0.1.26 </dt><dd> Build and install HCY color space, platform independences fixes to fish cache. </dd><dt> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/README new/babl-0.1.28/README --- old/babl-0.1.26/README 2017-05-09 18:36:17.000000000 +0200 +++ new/babl-0.1.28/README 2017-05-30 23:42:32.000000000 +0200 @@ -1,4 +1,4 @@ -Babl-0.1.26 +Babl-0.1.28 Contents @@ -59,6 +59,9 @@ release is done a babl release is most often put out just prior to the GEGL release. +2017-05-30 babl-0.1.28 + Fast paths for Lav <-> Lch, release triggered by pending GIMP + release. 2017-05-09 babl-0.1.26 Build and install HCY color space, platform independences fixes to fish cache. @@ -2144,5 +2147,7 @@ Portability, Stability and more Massimo Valentini stability fixes +Ell + fast paths -/babl-0.1.26 +/babl-0.1.28 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/babl/babl-version.h new/babl-0.1.28/babl/babl-version.h --- old/babl-0.1.26/babl/babl-version.h 2017-05-09 18:17:13.000000000 +0200 +++ new/babl-0.1.28/babl/babl-version.h 2017-05-30 23:41:13.000000000 +0200 @@ -34,7 +34,7 @@ #define BABL_MAJOR_VERSION 0 #define BABL_MINOR_VERSION 1 -#define BABL_MICRO_VERSION 26 +#define BABL_MICRO_VERSION 28 /** Get the version information on the babl library */ void babl_get_version (int *major, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/configure new/babl-0.1.28/configure --- old/babl-0.1.26/configure 2017-05-09 18:16:55.000000000 +0200 +++ new/babl-0.1.28/configure 2017-05-30 23:41:02.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for babl 0.1.26. +# Generated by GNU Autoconf 2.69 for babl 0.1.28. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='babl' PACKAGE_TARNAME='babl' -PACKAGE_VERSION='0.1.26' -PACKAGE_STRING='babl 0.1.26' +PACKAGE_VERSION='0.1.28' +PACKAGE_STRING='babl 0.1.28' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1380,7 +1380,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures babl 0.1.26 to adapt to many kinds of systems. +\`configure' configures babl 0.1.28 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1452,7 +1452,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of babl 0.1.26:";; + short | recursive ) echo "Configuration of babl 0.1.28:";; esac cat <<\_ACEOF @@ -1572,7 +1572,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -babl configure 0.1.26 +babl configure 0.1.28 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1937,7 +1937,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by babl $as_me 0.1.26, which was +It was created by babl $as_me 0.1.28, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2293,11 +2293,11 @@ BABL_MAJOR_VERSION=0 BABL_MINOR_VERSION=1 -BABL_MICRO_VERSION=26 +BABL_MICRO_VERSION=28 BABL_INTERFACE_AGE=1 -BABL_BINARY_AGE=126 -BABL_VERSION=0.1.26 -BABL_REAL_VERSION=0.1.26 +BABL_BINARY_AGE=128 +BABL_VERSION=0.1.28 +BABL_REAL_VERSION=0.1.28 BABL_API_VERSION=0.1 @@ -2332,7 +2332,7 @@ -BABL_LIBRARY_VERSION="125:1:125" +BABL_LIBRARY_VERSION="127:1:127" BABL_CURRENT_MINUS_AGE=0 @@ -2964,7 +2964,7 @@ # Define the identity of the package. PACKAGE='babl' - VERSION='0.1.26' + VERSION='0.1.28' # Some tools Automake needs. @@ -14854,7 +14854,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by babl $as_me 0.1.26, which was +This file was extended by babl $as_me 0.1.28, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14920,7 +14920,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -babl config.status 0.1.26 +babl config.status 0.1.28 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/configure.ac new/babl-0.1.28/configure.ac --- old/babl-0.1.26/configure.ac 2017-05-09 18:15:31.000000000 +0200 +++ new/babl-0.1.28/configure.ac 2017-05-30 23:39:41.000000000 +0200 @@ -14,7 +14,7 @@ m4_define([babl_major_version], [0]) m4_define([babl_minor_version], [1]) -m4_define([babl_micro_version], [26]) +m4_define([babl_micro_version], [28]) m4_define([babl_real_version], [babl_major_version.babl_minor_version.babl_micro_version]) m4_define([babl_version], [babl_real_version]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/extensions/CIE.c new/babl-0.1.28/extensions/CIE.c --- old/babl-0.1.26/extensions/CIE.c 2017-04-08 17:46:13.000000000 +0200 +++ new/babl-0.1.28/extensions/CIE.c 2017-05-15 22:07:09.000000000 +0200 @@ -808,6 +808,126 @@ return samples; } +static long +Labf_to_Lchabf (float *src, + float *dst, + long samples) +{ + long n = samples; + + while (n--) + { + float L = src[0]; + float A = src[1]; + float B = src[2]; + + float C = sqrtf (A * A + B * B); + float H = atan2f (B, A) * DEGREES_PER_RADIAN; + + // Keep H within the range 0-360 + if (H < 0.0f) + H += 360.0f; + + dst[0] = L; + dst[1] = C; + dst[2] = H; + + src += 3; + dst += 3; + } + + return samples; +} + +static long +Lchabf_to_Labf (float *src, + float *dst, + long samples) +{ + long n = samples; + + while (n--) + { + float L = src[0]; + float C = src[1]; + float H = src[2]; + + float A = C * cosf (H * RADIANS_PER_DEGREE); + float B = C * sinf (H * RADIANS_PER_DEGREE); + + dst[0] = L; + dst[1] = A; + dst[2] = B; + + src += 3; + dst += 3; + } + + return samples; +} + +static long +Labaf_to_Lchabaf (float *src, + float *dst, + long samples) +{ + long n = samples; + + while (n--) + { + float L = src[0]; + float A = src[1]; + float B = src[2]; + float a = src[3]; + + float C = sqrtf (A * A + B * B); + float H = atan2f (B, A) * DEGREES_PER_RADIAN; + + // Keep H within the range 0-360 + if (H < 0.0f) + H += 360.0f; + + dst[0] = L; + dst[1] = C; + dst[2] = H; + dst[3] = a; + + src += 4; + dst += 4; + } + + return samples; +} + +static long +Lchabaf_to_Labaf (float *src, + float *dst, + long samples) +{ + long n = samples; + + while (n--) + { + float L = src[0]; + float C = src[1]; + float H = src[2]; + float a = src[3]; + + float A = C * cosf (H * RADIANS_PER_DEGREE); + float B = C * sinf (H * RADIANS_PER_DEGREE); + + dst[0] = L; + dst[1] = A; + dst[2] = B; + dst[3] = a; + + src += 4; + dst += 4; + } + + return samples; +} + static void conversions (void) { @@ -889,6 +1009,30 @@ "linear", lchaba_to_rgba, NULL ); + babl_conversion_new ( + babl_format ("CIE Lab float"), + babl_format ("CIE LCH(ab) float"), + "linear", Labf_to_Lchabf, + NULL + ); + babl_conversion_new ( + babl_format ("CIE LCH(ab) float"), + babl_format ("CIE Lab float"), + "linear", Lchabf_to_Labf, + NULL + ); + babl_conversion_new ( + babl_format ("CIE Lab alpha float"), + babl_format ("CIE LCH(ab) alpha float"), + "linear", Labaf_to_Lchabaf, + NULL + ); + babl_conversion_new ( + babl_format ("CIE LCH(ab) alpha float"), + babl_format ("CIE Lab alpha float"), + "linear", Lchabaf_to_Labaf, + NULL + ); /*babl_conversion_new ( babl_model ("RGBA"), babl_model ("CIE XYZ"), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/babl-0.1.26/extensions/cairo.c new/babl-0.1.28/extensions/cairo.c --- old/babl-0.1.26/extensions/cairo.c 2017-02-26 19:55:28.000000000 +0100 +++ new/babl-0.1.28/extensions/cairo.c 2017-05-15 22:07:10.000000000 +0200 @@ -104,6 +104,43 @@ } #endif +static long conv_cairo32_rgbA8_premul_le (unsigned char *src, unsigned char *dst, long samples) +{ + long n = samples; + while (n--) + { + unsigned char blue = *src++; + unsigned char green = *src++; + unsigned char red = *src++; + unsigned char alpha = *src++; + + *dst++ = red; + *dst++ = green; + *dst++ = blue; + *dst++ = alpha; + } + return samples; +} + + +static long conv_cairo32_rgbAF_premul_le (unsigned char *src, unsigned char *dst_char, long samples) +{ + long n = samples; + float *dst = (void*)dst_char; + while (n--) + { + unsigned char blue = *src++; + unsigned char green = *src++; + unsigned char red = *src++; + unsigned char alpha = *src++; + + *dst++ = red / 255.0; + *dst++ = green / 255.0; + *dst++ = blue / 255.0; + *dst++ = alpha / 255.0; + } + return samples; +} static inline long conv_rgbA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples) @@ -359,6 +396,13 @@ babl_component ("PAD"), NULL ); + + babl_conversion_new (f32, babl_format ("R'aG'aB'aA float"), "linear", + conv_cairo32_rgbAF_premul_le, NULL); + + babl_conversion_new (f32, babl_format ("R'aG'aB'aA u8"), "linear", + conv_cairo32_rgbA8_premul_le, NULL); + babl_conversion_new (babl_format ("R'aG'aB'aA u8"), f32, "linear", conv_rgbA8_premul_cairo32_le, NULL);