AVIF Full-Range Marked as Limited: Visual Clipping
When an AVIF encoder incorrectly flags a full-range image as limited-range, the decoder misinterprets the data and expands the color space during display, causing severe visual clipping. Because the decoder assumes the pixel data is restricted to standard studio range (such as 16–235 in 8-bit), it aggressively stretches the values to fit the display's 0–255 range. This mismatch results in immediate shadow crushing, blown-out highlights, artificial contrast spikes, and loss of tonal gradation.
Crushed Shadow Detail (Sub-Black Clipping)
In standard 8-bit color, full-range content assigns luminance and chroma values from 0 to 255, whereas limited-range reserves values below 16 as footroom. When a decoder processes a full-range file marked as limited, it treats 16 as the absolute black point (0 on a standard display).
Any original pixel values between 0 and 15 are discarded or clamped to absolute black. Visually, this produces severe "crushed blacks":
- Dark textures, fabric weaves, and low-light environmental details turn into completely flat, solid black pools.
- Dark gradients—such as nighttime skies or drop shadows—lose their smooth transitions and exhibit harsh, abrupt borders.
Blown-Out Highlights (Super-White Clipping)
A parallel error occurs at the top end of the tonal scale. Limited-range encoding designates 235 as the reference white point, leaving values from 236 to 255 as headroom.
Because the decoder believes the image is limited-range, it scales code value 235 up to absolute display white (255). Consequently, every code value originally stored between 236 and 255 is clipped to maximum brightness:
- Bright details such as cloud textures, bright skin reflections, direct light sources, and glossy surfaces clip into uniform white patches.
- Subtle highlight rolloffs are eliminated, resulting in harsh, hard-edged clipping lines around bright objects.
Exaggerated Contrast and Color Distortion
Beyond clipping the extreme ends of the spectrum, the decoding process artificially stretches the remaining midtones (values 16 through 235) across the entire 0–255 display canvas.
This unwarranted expansion creates several secondary visual artifacts:
- High Contrast: The entire scene appears excessively harsh, punchy, and unnatural, as midtones are forced further toward the extremes.
- Color Oversaturation and Hue Shifts: Because the luminance expansion alters the proportional relationships between the color channels, colors appear unnaturally vivid, and subtle skin tones often take on an oversaturated or muddy appearance.
- Banding and Posterization: Stretching roughly 220 unique values across a 256-value output creates gaps in the color histogram, visible as noticeable banding artifacts in smooth gradients such as skies or background blurs.
Impact on 10-Bit and 12-Bit AVIF Files
While the problem is most frequently conceptualized in 8-bit numbers, it applies identically to higher bit depths common to AVIF:
- In 10-bit color, the limited-range reference points are 64 (black) and 940 (white). A full-range image marked as limited will completely clip code values 0–63 and 941–1023.
- Although higher bit depths provide more intermediate values to reduce banding, the absolute truncation of shadows and highlights remains identical in visual severity.
Correcting the Artifact
The image data itself contains the full detail; the degradation
occurs entirely during the rendering stage due to invalid metadata.
Correcting the container or bitstream flag (specifically setting the
video full-range flag to 1 or full rather than
0 or limited) restores the intended 0–255
mapping, instantly recovering the clipped shadows and blown-out
highlights without requiring recompression of the underlying AV1
stream.