RFR: 8307132: Cleanup the code of sun.java2d.cmm.lcms package

Sergey Bylokhov serb at openjdk.org
Tue May 2 02:14:11 UTC 2023


The description from big to small:

- Our code to handle the image types we support is too generic, the LCMSImageLayout class can handle, byte, short, int, and double types, and many various properties of the image layout. As a result, we pass a couple of good parameters to the LCMSImageLayout and have to use safeXX methods in it to calculate the final layout, and then validate it.
  This patch moves the layout properties calculation to one place - the constructor of LCMSImageLayout, and from the outside of the class, we now pass only the data array and the number of components per pixel:
 - The usage of Double type is removed, we do not use that type currently, and do not plan to support it in the future. Note that we support the float type, and I tried to implement it, but unfortunately, it is [intentionally ](https://github.com/mm2/Little-CMS/issues/356)slow. So will continue to use short type instead of float.
 - Discussed a few times the  `do { } while (false);` block is removed.

-------------

Commit messages:
 - add a comment
 - Merge branch 'master' into cms_cleanup_v3
 - Merge branch 'master' into cms_cleanup_v3
 - 8307132: Cleanup the code of sun.java2d.cmm.lcms package

Changes: https://git.openjdk.org/jdk/pull/13732/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13732&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8307132
  Stats: 211 lines in 3 files changed: 10 ins; 124 del; 77 mod
  Patch: https://git.openjdk.org/jdk/pull/13732.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/13732/head:pull/13732

PR: https://git.openjdk.org/jdk/pull/13732



More information about the client-libs-dev mailing list