A browser decodes AV1 either on a hardware decoder in the graphics chip or in software on the processor. The browser can say which it would offer, and a decode can be timed, but no browser names the chip that did the work.
- WebCodecs' VideoDecoder.isConfigSupported(), asked with hardwareAcceleration set to prefer-hardware, answers whether a hardware decoder is offered for a codec at a size. In Chromium a yes means one is.
- Supported is not the same as hardware. A software decoder can support AV1 and still fall behind at 4K 60 fps, which is the stutter people see.
- The video decode test asks at 1080p and 4K, 30 and 60 fps, then decodes a clip it encodes itself and compares the frames per second with the video's rate. 1.5 times the rate or more is our line for room to spare.
The short answer
Open the video decode test in the browser you watch video in and read the AV1 row at 4K, 60 fps. "Hardware decoder offered" means the browser will hand AV1 to the graphics chip; "Software decoder only" means the processor does it; "Not supported" means neither. Then read the measured rate beside it, which says whether that decoder keeps up.
We have no recorded runs of this test in our validation notes yet, so this guide quotes no measured results. Every line and constant below is the one the test's code applies.
What the browser is asked
Each codec is asked about with a full codec string naming a profile and a level that covers the size. For AV1 that is Main profile, 8-bit: av01.0.08M.08 at 1080p 30 fps and av01.0.13M.08 at 4K 60 fps. The same string is asked twice, once preferring hardware and once preferring software, so the two answers together separate a hardware decoder from a software one.
Media Capabilities is asked as well, and answers supported, smooth and power efficient. Those last two are the browser's expectation, can be optimistic before it has played that kind of video, and power efficient does not promise a hardware decoder. The test shows them beside the WebCodecs answer rather than in place of it.
What is measured
Claims are not a speed, so the test makes a clip of 90 frames on the page, with a keyframe every 30, encodes it with VideoEncoder in each codec the browser can encode, and decodes it as fast as the decoder goes, 3 times. The figure is the median frames per second. Nothing is downloaded.
That rate is set against the video's own: 1.5 times the frame rate or more "keeps ahead with room to spare"; between 1 and 1.5 it "keeps up, with little to spare"; under 1 it "falls behind; frames would drop". The 1.5 is our starting line, not a standard. Where the browser cannot encode AV1, there is no clip to time, and the claims still stand on their own.
If AV1 is software only
AV1 hardware decoding needs a recent graphics chip; older ones decode AV1 on the processor, which is slower and uses more power. Install the latest graphics driver, and on Windows the AV1 Video Extension from the Microsoft Store.
On a laptop that cannot decode AV1 in hardware, a site or extension setting that prefers H.264 or VP9 moves the work back to a codec the chip may decode, which the same test shows.
Step by step
- 01
Open the test in your usual browser
Use the browser you watch video in; each browser has its own decoder paths.
- 02
Read the AV1 row at 4K 60 fps
Hardware decoder offered, software decoder only, or not supported.
- 03
Read the measured rate
Compare it with 60 fps. 1.5 times or more is our line for room to spare.
Terms used here
Questions
- Does the operating system's video player use the same decoder as the browser?
- Not always. A native player can use a different decoder path, so a codec the browser decodes in software may play in hardware there, and the other way round. The test reports what the browser offers.
- Why would AV1 decode in software on a new laptop?
- Hardware acceleration may be off in the browser, the graphics driver may be blocked or old, or on Windows the AV1 Video Extension may be missing. The hardware acceleration test shows the first two.