Display-P3 Out-of-Gamut Flagger
Transform gamma-encoded Display-P3 D65 into unclipped linear sRGB and expose excursions under fixed 1e-7 numerical tolerance; not clipping, ICC-profile conversion, HDR transfer or percentage gamut coverage.
Description
Display-P 3 covers colors outside sRGB.
When to use Display-P3 Out-of-Gamut Flagger
Use Display-P3 Out-of-Gamut Flagger when you need to evaluate the supplied records under the calculation and evidence rules below. No clipping, HDR transfer, ICC-profile conversion or percent gamut coverage is supplied.
Prepare colors in the stated color space and scale. Use encoded RGB fractions, linear RGB, Lab, xy, byte values or ink percentages exactly as requested; supply caller tolerances and reference conditions.
How to use Display-P3 Out-of-Gamut Flagger and understand its results
- Prepare colors in the stated color space and scale. Use encoded RGB fractions, linear RGB, Lab, xy, byte values or ink percentages exactly as requested; supply caller tolerances and reference conditions.
- Enter encodedDisplayP3Channels using the field table and calculation rules, then run the tool.
- Read unclippedLinearSrgbChannels, outsideSrgbGamut, outsideChannelIndices. The explanation below defines the units, signs, ordering and any flags or placeholder values.
- If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
| Input field | Meaning | Value type; see rules below | Requirement |
|---|---|---|---|
| encodedDisplayP3Channels | Encoded display p3 channels | list of number | Required |
Enter three normalized encoded Display-P 3 channels 0–1. Decode and transform; return unclipped channels, outside flag and indexes beyond−1 e−7 or 1+1 e−7.
encodedP3 → sRGB-style decode → D65 linear P3-to-sRGB matrix Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.
| Output field | Meaning | Value type |
|---|---|---|
| unclippedLinearSrgbChannels | Unclipped linear srgb channels | list of number |
| outsideSrgbGamut | Outside srgb gamut | boolean |
| outsideChannelIndices | Outside channel indices | list of number |
{
"input": {
"encodedDisplayP3Channels": [
1,
0,
0
]
},
"output": {
"unclippedLinearSrgbChannels": [
1.2249401763,
-0.0420569547,
-0.0196375546
],
"outsideSrgbGamut": true,
"outsideChannelIndices": [
0,
1,
2
]
}
} Limitations and assumptions
No clipping, HDR transfer, ICC-profile conversion or percent gamut coverage is supplied.
Numeric inputs, where present, must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Numeric lists are limited to 10,000 entries; string lists to 128 strings of at most 128 characters each. The rules above may impose smaller limits. Missing required fields, extra fields, wrong value types and violations of the calculation rules are input errors. A successfully returned false flag is an evaluated outcome; its meaning is explained above.
Alternative or Complementary methods
Use sRGB Gamut RGB Bounds Checker: Unclipped linear RGB channels expose gamut excursions. A small caller tolerance handles numerical boundary noise. For a complementary task, use OKLCH Chroma Clamp sRGB Max: A fixed-lightness/hue OKLCH radial search can reduce requested chroma to the first sampled sRGB boundary. The procedure is numerical.
Further background: CSS Color Module Level 4.
References
-
Display-P3 Out-of-Gamut Flagger — tool.io
-
CSS Color Module Level 4 — World Wide Web Consortium
Similar or alternative tools
- sRGB Gamut RGB Bounds Checker
Unclipped linear RGB channels expose gamut excursions. A small caller tolerance handles numerical boundary noise.
- OKLCH Chroma Clamp sRGB Max
A fixed-lightness/hue OKLCH radial search can reduce requested chroma to the first sampled sRGB boundary. The procedure is numerical.