> The [next PR](https://github.com/openjdk/jdk/pull/23044) introduces several > new methods to the ICC_Profile class: > - getProfileClass(byte[]) > - getColorSpaceType(byte[]) > - getPCSType(byte[]) > - checkRenderingIntent(byte[]) > > These new methods extract data directly from the provided byte array rather > than relying on the profile instance. The first three methods essentially > duplicate the existing ones (getProfileClass(), getColorSpaceType(), > getPCSType()). > > It is possible to update implementation: > - The existing methods getColorSpaceType() and getPCSType() could delegate to > the new getColorSpaceType(byte[]) and getPCSType(byte[]) methods. > - The checkRenderingIntent(byte[]) method could be updated to report the > actual invalid intent value when an error occurs > > Tests: > - Old ValidateICCHeaderData test is update to verify the new output of the > checkRenderingIntent > - New RenderingIntentStressTest test is added to check the next part of the > icc_spec: > > * ICC spec: only the least-significant 16 bits encode the rendering > * intent. The most significant 16 bits must be zero and can be > ignored. > * See https://www.color.org/ICC1v42_2006-05.pdf, section 7.2.15. > > > > @honkar-jdk please take a look. > > Note: There is currently an inconsistency in the usage of > `getData(icSigHead)` vs `getData(cmmProfile(), icSigHead)` throughout the > codebase. I plan to address this separately.
Sergey Bylokhov has updated the pull request incrementally with one additional commit since the last revision: Update ValidateICCHeaderData.java ------------- Changes: - all: https://git.openjdk.org/jdk/pull/25519/files - new: https://git.openjdk.org/jdk/pull/25519/files/cc41d6d4..43b88ff3 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=25519&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=25519&range=01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/25519.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/25519/head:pull/25519 PR: https://git.openjdk.org/jdk/pull/25519