summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-26Add qcms_profile_from_unicode_path to qcms.hHEADmasterJeff Muizelaar1-0/+3
2011-07-26Add qcms_profile_from_unicode_path for loading from wchar_t paths.Makoto Kato1-0/+14
From Mozilla bug 613440
2011-07-21Use C99-style flexible arrays instead of GNU-styleJeff Muizelaar1-5/+0
2011-04-08Add a comment about the accuracy of s15Fixed16Number_to_floatJeff Muizelaar1-0/+2
2011-03-30Avoid more conversions to doubleJeff Muizelaar1-3/+3
2011-03-29Avoid implicit conversion to double.Jeff Muizelaar1-1/+1
The double literal will cause us to unnecessarily convert to double.
2011-03-29Check the return value of fread to make sure the readed data is validJeff Muizelaar1-2/+4
Bug 506207
2011-03-29Fix build on mingwJacek Caban1-3/+1
Bug 561787
2011-03-29qcms_transform_create should use transform_freeBenoit Girard1-3/+5
Bug 575142
2010-05-06Reduce precision of output tablesJeff Muizelaar4-23/+74
2010-05-06Add missing #include to iccread.c, to fix compile warnings about ↵Daniel Holbert1-0/+1
declarations of memcpy Bug 561787
2010-05-06Support building qcms on AndroidMichael Wu2-13/+12
Bug 556405. Use be32 and be16 instead __be32 and __be16 as the underscore versions can conflict with system types.
2010-05-06Remove an empty loop that annoyed coverityJeff Muizelaar1-2/+0
Bug 550188
2010-05-06Replace second green table release with release of blue tableSteve Snyder0-0/+0
Cut 'n' paste gone awry: green output table freed instead of blue. That is, there exists a release for red, 2 releases for green, and none for blue.
2010-05-06Disable SSE1 code on Windows x64Makoto Kato1-3/+6
2010-05-06Fix typedef clashes on AIX with <sys/types.h>Shailen2-0/+7
Bug 523848 This also fixes a compile problem with zero sized arrays
2010-05-06Make sse/sse2 code built with Sun Studio 12 on SolarisGinn Chen1-5/+5
Bug 522440
2010-02-18Accept ICCv4 profilesJeff Muizelaar1-4/+6
ICCv4 profiles are a superset of ICCv2 so it shouldn't hurt us to accept them and just treat them the same way we do ICCv2 profiles.
2010-02-18Improve SSE2 performance, add SSE support. r=jrmuizelSteve Snyder5-371/+562
This patch greatly improves the performance of QCMS transformations on x86 & x86_64 systems. Some notes: 0. On 32-bit x86 systems it does runtime selection between non-SIMD, SSE, and SSE2 code paths. 1. On x86_64 systems the SSE2 code path is always taken. The non-SIMD and SSE code paths are left intact, but contemporary versions of the GCC and MSVC compilers will see that they cannot be reached and optimize them away. 2. The execution of the SSE2 code path is reduced by 67%, relative to the original Intel/Microsoft formatted ASM code. The relative performance is seen on a Pentium4 (Northwood) 2.4GHz CPU with DDR1 RAM. 3. The SSE code path provides a 80% reduction in execution time, relative to the non-SIMD code path. The relative performance is seen on a Pentium3 (Coppermine) 1.26GHz CPU with SDRAM. 4. The code has been split out into separate files so that it can be built with different cflags (-msse, and -msse2) when using gcc.
2010-02-18Avoid doing unaligned reads when parsing icc filesVladimir Vukicevic1-2/+6
Offsets are not guaranteed to be aligned, so don't assume that they are. memcpy instead of just casting and dereferencing.
2010-02-18Warning fixes from timeless.Jeff Muizelaar2-14/+14
These are from https://bugzilla.mozilla.org/show_bug.cgi?id=491195
2010-02-18colorsync-perf: Support specifying input and output profilesJeff Muizelaar1-4/+9
2009-09-21Avoid integer overflow when checking buffer boundsJeff Muizelaar1-3/+11
Found by Chris Evans
2009-08-26Build fix for linux (Fedora 11 on x86_64).Ralph Giles2-1/+3
The malloc_test unit uses dlsym with RTLD_NEXT to find the libc's malloc function and substitute if no replacement is linked in. However, this define is a GNU extension, and so the source must define _GNU_SOURCE before including dlfcn.h. The dlsym function and friends also require linking with -ldl on Linux.
2009-07-02Open profiles in binary mode.Jeff Muizelaar1-1/+1
This was already changed in the mozilla tree but I forgot to commit it here.
2009-07-02Check that the profile is an RGB profile before checking if it's bogusJeff Muizelaar1-0/+4
This avoids unitialized reads on non-RGB profiles.
2009-06-25Profiles with negative colorant tristiumlus values are bogus.Jeff Muizelaar1-10/+29
Discovered with profiles from https://bugzilla.mozilla.org/show_bug.cgi?id=498245
2009-06-25Fix typo in dump-profileJeff Muizelaar1-1/+1
2009-06-23Swap the order we read tone reproduction curves.Jeff Muizelaar1-2/+2
There is no reason to read them in RBG when RGB is more intuitive.
2009-06-17Report the bogusness of profiles in dump-profileJeff Muizelaar1-0/+3
2009-06-11Use a minimum of 256 entries when computing the inverse lutJeff Muizelaar1-4/+14
This fixes a problem reported at https://bugzilla.mozilla.org/show_bug.cgi?id=497363
2009-06-11Fix comment for pre-4 GCCsJeff Muizelaar1-2/+3
#if 0 commented text should be C/C++ commented. This is from Mozilla Bug 488468: qcms build break with pre-4 GCCs.
2009-06-11Make number of output entries produced by invert_lut() a parameterJeff Muizelaar1-7/+20
The callers of invert_lut() have been changed to pass the lut length as the output length for now. There should be no behaviour change.
2009-06-02Remove obsolete commentJeff Muizelaar1-1/+0
2009-06-02Add ColorSync performance testJeff Muizelaar2-0/+50
2009-06-01Add reference to the rationale for not correcting alphaJeff Muizelaar1-0/+6
2009-05-22Test qcms_profile_from_file() with malloc-failJeff Muizelaar1-0/+3
2009-05-21Fix a memory leak when fread() failsJeff Muizelaar3-1/+6
Fixes a possible leak in qcms_profile_from_file() when fread() can't read the entire profile.
2009-05-21Initial code dropJeff Muizelaar18-0/+3877