Video codecs: Adding AV1 stateless video decoder support to Linux
collabora.com
collabora.com
“The Linux kernel's stateless video decoder interface is used for video decoding where no state needs to be kept between processed video frames and allows for independently decoding each video frame.”
(https://www.phoronix.com/news/Stateless-H264-Out-Of-Staging)
> A stateless decoder is a decoder that works without retaining any kind of state between processed frames. This means that each frame is decoded independently of any previous and future frames, and that the client is responsible for maintaining the decoding state and providing it to the decoder with each decoding request.
https://www.kernel.org/doc/html/latest/userspace-api/media/v...
HEVC will probably have features that will make sure it stays in use, but most people expect av1 to be the next h264 in terms of ubiquity.
Netflix uses it as their relatively small catalog means they are insensitive to av1’s slow encoding. There isn’t a public list but they are sending av1 streams to select TVs, phones, and streaming sticks.
Broadcasters only upgrade after an act of Congress so they use MPEG-2. The whole ecosystem of cameras, editing tools, broadcast hardware, and consumer boxes means strong path dependence. HEVC is used on UHD Blu-ray Discs and ATSC 3.0 broadcasts.
The very latest phones have hardware decoding. Google Pixel 6. Samsung Galaxy S23. Apple iPhone does not. There’s a chicken and egg problem. Chip area for av1 decoding can’t be justified without demand, but use of av1 remains low without widespread hardware support. Mobile battery constraints mean software decoding is a no go. If the SoC maker adds av1 but it’s not used it has a slight negative impact on battery life due to leakage power increasing going up with chip size (despite gating)
Intel 11th gen graphics supports hardware decoding. Nvidia 3060 series has it. AMD Radeon since the RX6000 series has it. Intel Arc was the first to support hardware encoding. Nvidia 4000 series and AMD Radeon RX7000 followed (only in OBS).
Some exploits do not work without kernel support. /s
I tought that graphics in the kernel was wrong (win 2k, xp) but what do i know.