Skip to content

Fix ARM NEON wide-gamut color conversion - #447

Open
gregbenz wants to merge 1 commit into
google:mainfrom
gregbenz:codex/fix-arm-neon-color-matrices
Open

Fix ARM NEON wide-gamut color conversion#447
gregbenz wants to merge 1 commit into
google:mainfrom
gregbenz:codex/fix-arm-neon-color-matrices

Conversation

@gregbenz

Copy link
Copy Markdown
Contributor

What changed

  • Use BT.2100 coefficients for BT.2100 RGBA8888 input.
  • Use BT.601 luma coefficients for Display-P3, matching the existing scalar conversion.
  • Add an ARM-only regression test comparing NEON and scalar output for saturated colors.

Why

The ARM NEON path used the wrong color matrices for Display-P3 and BT.2100 input. This could cause visibly different encoded color on ARM devices compared with other platforms.

Testing

  • The new regression fails on current main and passes with this fix on Apple Silicon.
  • Full non-HEIF unit suite: 1,067 passed, 224 skipped, 0 failed.

@google-cla

google-cla Bot commented Aug 14, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gregbenz
gregbenz force-pushed the codex/fix-arm-neon-color-matrices branch from 40d7e50 to 1533cf6 Compare August 15, 2026 01:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant