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: 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.
 - 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
 - Add qcms_profile_get_description api71
 - Convert MLUC profile description embedded nulls to '.'
 - [APPLE port] Use en-localized profile description names
 - [APPLE port] Use mmod data for profile descriptions
 - Minor variable name change: description -> description_offset
 - Avoid divisions creating sample points in the float cube LUT builder
 - Add bgra (z,y,x) sampled transform lookup table api
 - Apply upstream fix reject invalid sizes from
 - lut_inverse_interp16: remove odd whitespace formatting
 - lut_inverse_interp16: better handle degenerate TRC curves
 - Add vcgt tag reader and API to read its RGB gamma data
 - Consolidate loop over channels and elements in VCGT parser
 - Limit vcgt table to a maximum of 1024 entries
 - Add float to half float conversion routine
 - Use half float conversion tables (not functions)
 - Add matrix transform flag and matrix extraction api
 - Add tone reproduction curve (TRC) extraction api
 - lut_inverse_interp16: interpolate degenerate zeros in TRC curves
 - Make half float code self-contained: add halffloat.h
 - lut_inverse_interp16: fix black level inversion error
 - 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
 - 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
 - Turbo charge SSE2 qcms_transform_data_rgba_out_lut_sse2
 - Check matrix transforms have the same PCS
 - 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
 - LUT8/16 profiles with an empty CLUT are invalid
 - Caching transform prelude to save computation in V4 profiles
 - Use the caching transform prelude for non-SSE code in transform.c
 - Expand QCMS tests. Add Munsell test for transform accuracy
 - Compute RMS error from color error dE in the Munsell test
 - Store color profile version and add a version read API
 - Add support for VCGT tag formula gamma
 - Minimize transform RMS in qcms_transform_data_rgb(a)_out_lut
 - Allow negative XYZ for display profiles on the APPLE port
 - Add a color profile white point transform api
 - Compute the pole and zero values needed by lut_inverse_interp16 once
 - Store the profile media white point during iccread.c
 - Add an API to check for profile media white point
 - Add a qcms_profile_get_white_point() api
 - Set the media white point of the sRGB profile
 - Don't build QCMS on Android and iOS
 - Fix para curve tag interval paramater use
 - Verify internal sRGB profile tristimulus match the standard sRGB profile
 - Expose unsigned short version of TRC curve
 - Add qcms_profile_ntsc_relative_gamut_size api
 - Fix build issue of qcms_tests for MIPS Linux
 - Update primaries used to build internal sRGB profile
 - Update internal sRGB profile test report output
 - Add more internal sRGB profile tests
 - Fix build_output_lut to return correct data for parametric curves
 - Make build_output_lut output 4096 points for parametric curves
 - Use a static table in build_output_lut to invert para curves
 - Make qcms_test_output_trc handle normal gamma curves
 - Add API to output parametric gamma curve data
 - Fix an unitialized read in gamma curve data.
