The State of Hardware Video Codecs in Linux
summary
Linux now has tens of hardware video codecs upstream with concrete progress: stateless decoder uAPI merged 2019, request API in 4.20, and multiple drivers (MFC, Koda, Rockchip, Waves, Verysilicon) working with GStreamer/FFmpeg. Decoders use fluster for compliance (fluster conformance tests), but stateless encoders lack a merged uAPI — there are RFCs for VP8 and H.264 but no encoder spec yet. Pending work includes Venus→Iris firmware, Raspberry Pi MML upstreaming, Wave5 10‑bit/ROI features, and RK3588 8K support.
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
