1 Name: Quick Color Management System
3 URL: https://github.com/jrmuizel/qcms/tree/v4
7 License File: src/COPYING
11 Contains support for applying an ICC color profile to an image. The code is
12 originally based on tinycms, re-written by Mozilla for better security and
13 performance. This copy is a source-drop from Mozilla on March 13, 2012.
16 Some files only have license headers in the master branch.
17 - Added the same license headers to the versions brought down from the 'v4'
18 branch src URL qcms/tree/v4
19 The following changes have been made since qcms was imported:
20 - Add bgra output support.
21 - Use HAVE_POSIX_MEMALIGN instead of HAS_POSIX_MEMALIG
22 (https://bugzilla.mozilla.org/show_bug.cgi?id=692922)
23 - Applied upstream patch:
24 - https://bug752254.bugzilla.mozilla.org/attachment.cgi?id=626102
25 - Applied upstream patch for sanitizing gamma table:
26 - Expanded gamma clamp range to allow 1.0.
27 - Do not short-circuit bogus profile check for A2B0 or B2A0 unless v4 enabled.
28 - Only reference code from transform-sse1.c and transform-sse2.c when SSE is
30 - Limit the use an x86-only attribute to 32-bit x86 builds.
31 - https://code.google.com/p/chromium/issues/detail?id=490016
32 - Fix integer truncation warning/errors on Win64 build.
33 - Apply upstream thread safety (fix) patch from
34 - https://bugzilla.mozilla.org/show_bug.cgi?id=853169
35 - Apply upstream fix for qcms_profile_from_memory from
36 - https://bugzilla.mozilla.org/show_bug.cgi?id=969226
37 - Apply upstream simplification of qcmstypes.h
38 - https://hg.mozilla.org/mozilla-central/rev/b5be94737a83
39 - Check for unused tag_len in read_nested_curveType()
40 - Apply qcms_transform_precacheLUT_float does not properly free dest buffer
41 - https://bugzilla.mozilla.org/show_bug.cgi?id=701348
42 - Add qcms_profile_match api
43 - https://code.google.com/p/chromium/issues/detail?id=401971
44 - Add qcms_profile_get_description api
45 - https://code.google.com/p/chromium/issues/detail?id=401971
46 - Convert MLUC profile description embedded nulls to '.'
47 - https://code.google.com/p/chromium/issues/detail?id=401971
48 - [APPLE port] Use en-localized profile description names
49 - https://code.google.com/p/chromium/issues/detail?id=401971
50 - [APPLE port] Use mmod data for profile descriptions
51 - https://code.google.com/p/chromium/issues/detail?id=401971
52 - Minor variable name change: description -> description_offset
53 - https://code.google.com/p/chromium/issues/detail?id=401971
54 - Avoid divisions creating sample points in the float cube LUT builder
55 - https://code.google.com/p/chromium/issues/detail?id=443863
56 - Add bgra (z,y,x) sampled transform lookup table api
57 - https://code.google.com/p/chromium/issues/detail?id=443863
58 - Apply upstream fix reject invalid sizes from
59 - https://bugzilla.mozilla.org/show_bug.cgi?id=1132468
60 - lut_inverse_interp16: remove odd whitespace formatting
61 - https://code.google.com/p/chromium/issues/detail?id=458024
62 - lut_inverse_interp16: better handle degenerate TRC curves
63 - https://code.google.com/p/chromium/issues/detail?id=458024
64 - Add vcgt tag reader and API to read its RGB gamma data
65 - https://code.google.com/p/chromium/issues/detail?id=471749
66 - Consolidate loop over channels and elements in VCGT parser
67 - https://code.google.com/p/chromium/issues/detail?id=471749
68 - Limit vcgt table to a maximum of 1024 entries
69 - https://code.google.com/p/chromium/issues/detail?id=471749
70 - Add float to half float conversion routine
71 - https://code.google.com/p/chromium/issues/detail?id=491784
72 - Use half float conversion tables (not functions)
73 - https://code.google.com/p/chromium/issues/detail?id=491784
74 - Add matrix transform flag and matrix extraction api
75 - https://code.google.com/p/chromium/issues/detail?id=491826
76 - Add tone reproduction curve (TRC) extraction api
77 - https://code.google.com/p/chromium/issues/detail?id=491826
78 - lut_inverse_interp16: interpolate degenerate zeros in TRC curves
79 - https://code.google.com/p/chromium/issues/detail?id=458024
80 - Make half float code self-contained: add halffloat.h
81 - https://code.google.com/p/chromium/issues/detail?id=491784
82 - lut_inverse_interp16: fix black level inversion error
83 - https://code.google.com/p/chromium/issues/detail?id=504681
84 - Apply upstream fix of uninitialized value
85 - https://github.com/jrmuizel/qcms/commit/0edb697
86 - Apply Keep the output of the TRC between 0 and 1
87 - https://bugzilla.mozilla.org/show_bug.cgi?id=764181
88 - Drop SSE1 code as Chromium mandates SSE2 as a minimum requirement
89 - https://code.google.com/p/chromium/issues/detail?id=506856
90 - Apply Fix potential leaks in qcms_transform_create
91 - https://bugzilla.mozilla.org/show_bug.cgi?id=1168480
92 - Apply fix for crash in qcms_transform_data_rgb_out_lut_sse1
93 - https://bugzilla.mozilla.org/show_bug.cgi?id=1163740
94 - Add SSE2 code for qcms_transform_data_rgba_out_lut_sse2
95 - https://code.google.com/p/chromium/issues/detail?id=506607
96 - Turbo charge SSE2 qcms_transform_data_rgba_out_lut_sse2
97 - https://code.google.com/p/chromium/issues/detail?id=506607
98 - Check matrix transforms have the same PCS
99 - https://code.google.com/p/chromium/issues/detail?id=510682
100 - Apply Don't reject valid profiles with no CLUT offset
101 - https://bugzilla.mozilla.org/show_bug.cgi?id=1176551
102 - Runtime detect qcms_transform_data_tetra_clut_rgba_sse2 use
103 - https://code.google.com/p/chromium/issues/detail?id=506607
105 For the Chromium changes, since the import, in a patch format run:
106 git diff b8456f38 src