[qcms] Make half float code self-contained: add halffloat.h
[chromium-blink-merge.git] / third_party / qcms / README.chromium
blob666a748e10610d70acd4b25166d610c97b74a322
1 Name: Quick Color Management System
2 Short Name: qcms
3 URL: https://github.com/jrmuizel/qcms/tree/v4
4 Version: v4
5 Date: 2012-03-13
6 License: MIT
7 License File: src/COPYING
8 Security Critical: yes
10 Description:
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.
15 Local Modifications:
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
29    enabled.
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
83 For the Chromium changes, since the import, in a patch format run:
84   git diff b8456f38 src