| 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 |
| |
| For the Chromium changes, since the import, in a patch format run: |
| git diff b8456f38 src |