summaryrefslogtreecommitdiff
path: root/extensions
Commit message (Collapse)AuthorAge
* meson: Various fixesXavier Claessens2022-04-25
| | | | | | | | | | - Add missing lcms dependencies. That's needed when lcms is a subproject otherwise those targets does not find its headers. - Add lcms2 wrap so meson can build it as subproject in case the dependency is not found on system. - Fix couple meson warnings - Use meson.override_dependency() so babl can be used as subproject without hardcoding "babl_dep" variable name in main project.
* extensions: build arm-neon variants of basic extensionsØyvind Kolås2022-03-22
|
* extensions: simple avoid unneccesary doubleØyvind Kolås2022-03-22
|
* CIE: full separation of single and double precision codeØyvind Kolås2022-03-15
|
* avoid some avoidable implicit promotion to doubleØyvind Kolås2022-02-26
|
* Add CIE Lab alpha u16 formatTomasz Golinski2022-02-19
|
* Add CIE Lab alpha u8 formatTomasz Golinski2022-02-19
|
* sse2-float: correctly handle associted alpha in remainderØyvind Kolås2022-01-27
|
* babl: add more missing SIMD build related filesØyvind Kolås2022-01-23
|
* extensions/cairo: add a correct enough for 8bit cairo32 to cairo24 conversionØyvind Kolås2022-01-23
|
* extensions: reduce amount of competing conversionsØyvind Kolås2022-01-23
| | | | | | | | Avoid loading extensions if a variant with better SIMD support is expected to exist. We know all variants that are expectd to exist and thus can register only the fastest known variant. This avoids combinatorial explosion of conversions to test.
* extensions: cairo remove a broken conversion, fix RGBA u8 to cairo referenceØyvind Kolås2022-01-23
|
* multipass build, with SIMD variants for x86_64 and armØyvind Kolås2022-01-23
| | | | | | Some extensions have their own separate build, so does the RGB color space conversions, trc computations and base set of conversions.
* Oklab: disable only Oklch not OklabØyvind Kolås2021-10-30
| | | | | | | | | | Oklab itself is enabled by default now for testing, but does not seem to produce correct values with the Oklab test vectors, even with manual attempt at converting the test vector (presumed) CIE XYZ D65 to CIE XYZ D50 before running the conversion. The failure to pass symmetry tests as mentioned in issue #63 seems to be limited to Oklch, Oklab itself is fine.
* oklab: add double variant of code for model conversionsØyvind Kolås2021-10-29
|
* oklab: add to meson, register model conversionsØyvind Kolås2021-10-28
|
* quick fixMingye Wang2021-10-28
|
* oklab: chad back to D65Mingye Wang2021-10-28
|
* oklab, initial verMingye Wang2021-10-28
|
* Another project can add babl as a subprojectsantouits2021-02-25
|
* build: only check for link arg --no-undefined onceJohn Marshall2020-06-25
|
* build: code cleanupJohn Marshall2020-06-25
|
* git: remove obsolete .gitignore filesJohn Marshall2020-06-25
|
* build: add build path variablesJohn Marshall2020-06-25
| | | | - add build path variables for library and extensions
* HSV, HSL, HCY: wrap hue around during conversion to RGBEll2020-05-18
| | | | | | | | 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).
* avx2-int8: slightly improve accuracy of linear -> gamma tablesEll2020-04-12
|
* avx2-int8: add gamma u8 -> linear float conversionsEll2020-04-12
| | | | | | | | | 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.
* CIE: comment out self assignmentsØyvind Kolås2019-11-28
| | | | This squelches warnings when using clang as the compiler.
* cairo: add code path from Y'A floatØyvind Kolås2019-08-22
|
* half/sse-half: register conversions for YaA as wellØyvind Kolås2019-08-20
|
* float: add conversions to/from associated alpha for grayscaleØyvind Kolås2019-08-20
| | | | Further speeds up rotations/scales etc in all grayscale precisions.
* float: add grayscale alpha and trc convertersØyvind Kolås2019-08-20
|
* gray: add graya to rgba expandersØyvind Kolås2019-08-20
|
* cairo: remove on of the conversaions added in last commitØyvind Kolås2019-08-19
|
* cairo: add more little endian conversionsØyvind Kolås2019-08-19
|
* avx2, two-table: don't segfault for NaN inputEll2019-08-19
| | | | | | | In the AVX2 and two-table linear-float => gamma-int8 conversions, tweak the input bounds-check to handle NaN values. NaN would previously lead to an out-of-bounds table lookup, and a segfault (see issue #43).
* extensions: add a Y' u8 to RGBA float conversionØyvind Kolås2019-08-19
|
* extensions: add some u8 and u16 conversions for grayscaleØyvind Kolås2019-08-19
| | | | | This adds some missing end pieces for building much better than reference conversions for many useful u8 and u16 code paths.
* extensions: add sse2_cflags to CIEMichael Schumacher2019-08-08
| | | | Fixes #42
* build: remove autotoolsØyvind Kolås2019-07-29
|
* extensions: distribute avx2-int8-tables.hEll2019-07-24
|
* extensions: add AVX2 linear-float -> gamma-u8 conversionsEll2019-07-24
| | | | | | | | | | | | | | | | Add AVX2 conversions from Y float, YA float, RGB float, and RGBA float, to Y' u8, Y'A u8, R'G'B' u8, and R'G'B'A u8, respectively. The conversions use a lookup table, similarly to the two-table conversions, indexed using AVX2's 256-bit gather instruction, which allow us to process 8 floats at once. Over here, this conversion is ~5x faster than the SSE conversions. Note, however, that unlike two-table, we don't use a second "feedback" table to correct the result, leading to an off-by-one conversion error with a probability of ~0.1%, using a 2^16-element table. This error rate is low enough for babl to use the conversion, but might still be a bit too high regardless; it can be further reduced with a bigger table.
* HCY: convert luminance relative to RGB chromaticitiesØyvind Kolås2019-07-24
|
* extensions/HSL: add model doc stringØyvind Kolås2019-07-24
|
* extensions/HSV: update model docsØyvind Kolås2019-07-24
|
* extensions/HSV: add documentation for modelØyvind Kolås2019-07-24
|
* extensions/CIE: add some documentation overridesØyvind Kolås2019-07-22
|
* docs: improve generated referenceØyvind Kolås2019-07-22
| | | | | When registering types, models, formats and components one can now specify override "doc" strings that end up in this reference.
* extensions/sse2-float: s/premul/assoc/ in function namesØyvind Kolås2019-07-22
|
* extensions/gimp-8bit: s/premul/assoc/ in function namesØyvind Kolås2019-07-22
|