On Mon, 2 Jun 2025 19:28:09 GMT, Sergey Bylokhov <s...@openjdk.org> wrote:
>> 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: > > drop 8337703 bugid LGTM CI Testing looks good. ------------- Marked as reviewed by honkar (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/25519#pullrequestreview-2889900412