The State of Hardware Video Codecs in Linux
summary
Upstream Linux now hosts roughly about 10+ upstream drivers for hardware codecs, starting with an MFC M2M driver in 2011; decoder conformance uses the open tool fluster compliance, and a stateless decoder UAPI (2019) is merged while stateless encoder UAPI is still missing despite RFCs for VP8 and H.264. Request API landed in 4.20 to attach per-frame controls. Pending work includes Raspberry Pi MML merge, Venus→Iris firmware and 8K/RK3588 drivers; multicore and M2M limitations remain practical hurdles.
AI-written summary · about
chapters (15)
- 0:00Hardware video codecs in Linux
- 1:47What is a video codec?
- 4:57Stateful vs stateless codecs
- 7:06Upstream codec drivers examples
- 9:17History of Linux codec drivers
- 13:37First milestone in drivers
- 15:46Early codec driver challenges
- 17:14Stateless codec support evolution
- 20:28Stateful vs stateless trade-offs
- 21:51Current upstream codec state
- 23:18Pending codec driver work
- 26:49Future of codec drivers
- 28:57Codec framework challenges
- 30:26Summary and trends
- 31:10Q&A on codec specs
related talks
41mThe State of Hardware Video Codecs in Linux
35mSupporting Hardware Codecs in a Linux system
58m2017 is the Year of the Linux Video Codec Drivers
42mV4L2: A Status Update
18mStateless HEVC Decoding in Mainline Linux: The Rocky Road to Becoming a Stable API
33mStateless V4L2 Video Encoding
37mIntegrating Hardware-accelerated Video Decoding with the Display Stack
46mV4L2 Video Decoder/Encoder Development Journey
