Hacker News new | ask | show | jobs
by Matt3o12_ 2042 days ago
Can someone explain the purpose of this decoder? As far as I know, decoding H.264 is already pretty solid on Linux and I don't know what benefits of making it stateless there are. I could definitely see why a stateless encoder would be beneficial (i.e. to spread out the load), but isn't decoding h.264 already a solved problem?
3 comments

Certain hardware does not have accelerated video decoding on mainline Linux. In particular, ARM chips with a rockchip VPU. Pinebook Pro is one such device.
This isn't a decoder, this is an interface. The benefits of stateless decoding are simpler hardware, and more flexibility in decoding (among others).
The issue is that hardware decoding is a hodgepodge of various vendor-specific interfaces. Projects like VA-API try to put a nice frontend onto them so applications don't have to care about the hardware, but ultimately that just means twice the work needs to be done to add support for new hardware, and to maintain existing hardware.

If kernel developers writing drivers for hardware video acceleration were to build to a standard set of kernel interfaces, then userspace would just have one interface to work with, simplifying things and reducing overall effort.

Good description.

Furthermore stateless H.264 decoders are a specific subset of hardware decoders that, like the name implies, don't maintain any state by themselves.