An AVIF is one AV1 video keyframe in a HEIF box
The picture is coded exactly as a frame of AV1 video, a run of OBUs (open bitstream units) starting with a sequence header. Around it sits the same item-and-property structure HEIC uses, with AVIF’s own rules: av1C must be marked essential, pixi is mandatory, alpha is a second AV1 image. Two places can describe the colour, the colr box and the sequence header, and they can disagree. This page reads both down to the bit, checks the AVIF rules, encodes new AVIFs with your browser’s AV1 encoder and tests how the colour labels change what you see.
Profile, level, bit depth, chroma subsampling and the colour description all live in a sequence header of roughly a dozen bytes. The av1C property copies the first few of these fields into the container so software can decide without parsing AV1. The bit strip shows every bit of the header coloured by the field it belongs to; the table on the right checks whether the copy and the original agree.
AVIF 1.1 builds on MIAF and HEIF. Each image is an item; properties like ispe (size), pixi (bits per channel) and colr hang off it through ipma, each marked essential or not. A reader must refuse an item if it doesn’t understand one of its essential properties, so av1C, irot and auxC have to be flagged essential, and ispe has to be present.
Your browser’s AV1 video encoder codes one keyframe at the quantizer you pick. The page drops the temporal delimiter, builds av1C from the sequence header, writes ftyp, meta and mdat itself (plus a second AV1 image for alpha if the source has transparency) and decodes the result. JPEG and WebP are then searched for the highest quality that still fits in the same number of bytes.
The page takes the loaded file’s primary image bitstream unchanged and rewraps it six times, changing only the nclx colour box: matrix coefficients, the full/limited range flag or the primaries. Your browser decodes each one. The difference from the correctly labelled version is measured in ΔE OK, where about 2 is a just-noticeable difference.