blob: b1845fdff619a5791e0fbb3ab45bf6ee75dfc56a [file] [log] [blame]
Name: Quick Color Management System
Short Name: qcms
URL: https://github.com/jrmuizel/qcms/tree/v4
Version: v4
Date: 2012-03-13
License: MIT
License File: src/COPYING
Security Critical: yes
Description:
Contains support for applying an ICC color profile to an image. The code is
originally based on tinycms, re-written by Mozilla for better security and
performance. This copy is a source-drop from Mozilla on March 13, 2012.
Local Modifications:
Some files only have license headers in the master branch.
- Added the same license headers to the versions brought down from the 'v4'
branch src URL qcms/tree/v4
The following changes have been made since qcms was imported:
- Add bgra output support.
- Use HAVE_POSIX_MEMALIGN instead of HAS_POSIX_MEMALIG
(https://bugzilla.mozilla.org/show_bug.cgi?id=692922)
- Applied upstream patch:
- https://bug752254.bugzilla.mozilla.org/attachment.cgi?id=626102
- Applied upstream patch for sanitizing gamma table:
- Expanded gamma clamp range to allow 1.0.
- Do not short-circuit bogus profile check for A2B0 or B2A0 unless v4 enabled.
- Only reference code from transform-sse1.c and transform-sse2.c when SSE is
enabled.
- Limit the use an x86-only attribute to 32-bit x86 builds.
- https://code.google.com/p/chromium/issues/detail?id=490016
- Fix integer truncation warning/errors on Win64 build.
- Apply upstream thread safety (fix) patch from
- https://bugzilla.mozilla.org/show_bug.cgi?id=853169
- Apply upstream fix for qcms_profile_from_memory from
- https://bugzilla.mozilla.org/show_bug.cgi?id=969226
- Apply upstream simplification of qcmstypes.h
- https://hg.mozilla.org/mozilla-central/rev/b5be94737a83
- Check for unused tag_len in read_nested_curveType()
- Apply qcms_transform_precacheLUT_float does not properly free dest buffer
- https://bugzilla.mozilla.org/show_bug.cgi?id=701348
- Add qcms_profile_match api
- https://code.google.com/p/chromium/issues/detail?id=401971
- Add qcms_profile_get_description api
- https://code.google.com/p/chromium/issues/detail?id=401971
- Convert MLUC profile description embedded nulls to '.'
- https://code.google.com/p/chromium/issues/detail?id=401971
- [APPLE port] Use en-localized profile description names
- https://code.google.com/p/chromium/issues/detail?id=401971
- [APPLE port] Use mmod data for profile descriptions
- https://code.google.com/p/chromium/issues/detail?id=401971
- Minor variable name change: description -> description_offset
- https://code.google.com/p/chromium/issues/detail?id=401971
- Avoid divisions creating sample points in the float cube LUT builder
- https://code.google.com/p/chromium/issues/detail?id=443863
- Add bgra (z,y,x) sampled transform lookup table api
- https://code.google.com/p/chromium/issues/detail?id=443863
- Apply upstream fix reject invalid sizes from
- https://bugzilla.mozilla.org/show_bug.cgi?id=1132468
- lut_inverse_interp16: remove odd whitespace formatting
- https://code.google.com/p/chromium/issues/detail?id=458024
- lut_inverse_interp16: better handle degenerate TRC curves
- https://code.google.com/p/chromium/issues/detail?id=458024
- Add vcgt tag reader and API to read its RGB gamma data
- https://code.google.com/p/chromium/issues/detail?id=471749
- Consolidate loop over channels and elements in VCGT parser
- https://code.google.com/p/chromium/issues/detail?id=471749
- Limit vcgt table to a maximum of 1024 entries
- https://code.google.com/p/chromium/issues/detail?id=471749
- Add float to half float conversion routine
- https://code.google.com/p/chromium/issues/detail?id=491784
- Use half float conversion tables (not functions)
- https://code.google.com/p/chromium/issues/detail?id=491784
- Add matrix transform flag and matrix extraction api
- https://code.google.com/p/chromium/issues/detail?id=491826
- Add tone reproduction curve (TRC) extraction api
- https://code.google.com/p/chromium/issues/detail?id=491826
- lut_inverse_interp16: interpolate degenerate zeros in TRC curves
- https://code.google.com/p/chromium/issues/detail?id=458024
- Make half float code self-contained: add halffloat.h
- https://code.google.com/p/chromium/issues/detail?id=491784
- lut_inverse_interp16: fix black level inversion error
- https://code.google.com/p/chromium/issues/detail?id=504681
- Apply upstream fix of uninitialized value
- https://github.com/jrmuizel/qcms/commit/0edb697
- Apply Keep the output of the TRC between 0 and 1
- https://bugzilla.mozilla.org/show_bug.cgi?id=764181
- Drop SSE1 code as Chromium mandates SSE2 as a minimum requirement
- https://code.google.com/p/chromium/issues/detail?id=506856
- Apply Fix potential leaks in qcms_transform_create
- https://bugzilla.mozilla.org/show_bug.cgi?id=1168480
- Apply fix for crash in qcms_transform_data_rgb_out_lut_sse1
- https://bugzilla.mozilla.org/show_bug.cgi?id=1163740
- Add SSE2 code for qcms_transform_data_rgba_out_lut_sse2
- https://code.google.com/p/chromium/issues/detail?id=506607
- Turbo charge SSE2 qcms_transform_data_rgba_out_lut_sse2
- https://code.google.com/p/chromium/issues/detail?id=506607
- Check matrix transforms have the same PCS
- https://code.google.com/p/chromium/issues/detail?id=510682
- Apply Don't reject valid profiles with no CLUT offset
- https://bugzilla.mozilla.org/show_bug.cgi?id=1176551
- Runtime detect qcms_transform_data_tetra_clut_rgba_sse2 use
- https://code.google.com/p/chromium/issues/detail?id=506607
- LUT8/16 profiles with an empty CLUT are invalid
- https://code.google.com/p/chromium/issues/detail?id=487284
- Caching transform prelude to save computation in V4 profiles
- https://code.google.com/p/chromium/issues/detail?id=506607
For the Chromium changes, since the import, in a patch format run:
git diff b8456f38 src