summaryrefslogtreecommitdiffstats
path: root/third_party/qcms/README.chromium
blob: b8706969b0254c9a1724032af8f06bbf01646348 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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

For the Chromium changes, since the import, in a patch format run:
  git diff b8456f38 src