Index: third_party/qcms/README.chromium |
diff --git a/third_party/qcms/README.chromium b/third_party/qcms/README.chromium |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b19c005820f2b346d9d5bbd1098233bad8155401 |
--- /dev/null |
+++ b/third_party/qcms/README.chromium |
@@ -0,0 +1,162 @@ |
+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 |
+ - 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 |
+ - https://code.google.com/p/chromium/issues/detail?id=506607 |
+ - Turbo charge SSE2 qcms_transform_data_rgba_out_lut_sse2 |
+ - https://code.google.com/p/chromium/issues/detail?id=506607 |
+ - Check matrix transforms have the same PCS |
+ - https://code.google.com/p/chromium/issues/detail?id=510682 |
+ - 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 |
+ - https://code.google.com/p/chromium/issues/detail?id=506607 |
+ - LUT8/16 profiles with an empty CLUT are invalid |
+ - https://code.google.com/p/chromium/issues/detail?id=487284 |
+ - Caching transform prelude to save computation in V4 profiles |
+ - https://code.google.com/p/chromium/issues/detail?id=506607 |
+ - Use the caching transform prelude for non-SSE code in transform.c |
+ - https://code.google.com/p/chromium/issues/detail?id=506607 |
+ - Expand QCMS tests. Add Munsell test for transform accuracy |
+ - https://code.google.com/p/chromium/issues/detail?id=532910 |
+ - Compute RMS error from color error dE in the Munsell test |
+ - https://code.google.com/p/chromium/issues/detail?id=532910 |
+ - Store color profile version and add a version read API |
+ - https://code.google.com/p/chromium/issues/detail?id=532258 |
+ - Add support for VCGT tag formula gamma |
+ - https://code.google.com/p/chromium/issues/detail?id=551568 |
+ - Minimize transform RMS in qcms_transform_data_rgb(a)_out_lut |
+ - https://code.google.com/p/chromium/issues/detail?id=532910 |
+ - Allow negative XYZ for display profiles on the APPLE port |
+ - https://code.google.com/p/chromium/issues/detail?id=562951 |
+ - Add a color profile white point transform api |
+ - https://code.google.com/p/chromium/issues/detail?id=564355 |
+ - Compute the pole and zero values needed by lut_inverse_interp16 once |
+ - https://code.google.com/p/chromium/issues/detail?id=505793 |
+ - Store the profile media white point during iccread.c |
+ - https://code.google.com/p/chromium/issues/detail?id=565222 |
+ - Add an API to check for profile media white point |
+ - https://code.google.com/p/chromium/issues/detail?id=565222 |
+ - Add a qcms_profile_get_white_point() api |
+ - https://code.google.com/p/chromium/issues/detail?id=565222 |
+ - Set the media white point of the sRGB profile |
+ - https://code.google.com/p/chromium/issues/detail?id=565222 |
+ - Don't build QCMS on Android and iOS |
+ - https://code.google.com/p/chromium/issues/detail?id=577155 |
+ - Fix para curve tag interval paramater use |
+ - https://code.google.com/p/chromium/issues/detail?id=580920 |
+ - Verify internal sRGB profile tristimulus match the standard sRGB profile |
+ - https://code.google.com/p/chromium/issues/detail?id=580917 |
+ - Expose unsigned short version of TRC curve |
+ - https://code.google.com/p/chromium/issues/detail?id=495196 |
+ - Add qcms_profile_ntsc_relative_gamut_size api |
+ - https://code.google.com/p/chromium/issues/detail?id=582870 |
+ - Fix build issue of qcms_tests for MIPS Linux |
+ - https://code.google.com/p/chromium/issues/detail?id=590227 |
+ - Update primaries used to build internal sRGB profile |
+ - https://code.google.com/p/chromium/issues/detail?id=580917 |
+ - Update internal sRGB profile test report output |
+ - https://code.google.com/p/chromium/issues/detail?id=580917 |
+ - Add more internal sRGB profile tests |
+ - https://code.google.com/p/chromium/issues/detail?id=580917 |
+ - Fix build_output_lut to return correct data for parametric curves |
+ - https://bugs.chromium.org/p/chromium/issues/detail?id=600338 |
+ - Make build_output_lut output 4096 points for parametric curves |
+ - https://bugs.chromium.org/p/chromium/issues/detail?id=600338 |
+ - Use a static table in build_output_lut to invert para curves |
+ - https://bugs.chromium.org/p/chromium/issues/detail?id=600338 |
+ - Make qcms_test_output_trc handle normal gamma curves |
+ - https://bugs.chromium.org/p/chromium/issues/detail?id=600338 |
+ |
+For the Chromium changes, since the import, in a patch format run: |
+ git diff b8456f38 src |