Tue Aug 04, 2020 10:08 am
V4L2 is the mainline Linux kernel API for codec and camera related multimedia, and is where we are heading for those. Codecs are all supported already, as is the ISP for resizing and format conversion.
libcamera is coming in to provide a fully featured (and open source) camera stack.
DRM/KMS, and EGL are the mainline Linux kernel APIs for display side stuff, and again where things are heading.
For the older Pi variants MMAL is there and supported. There is an issue in 64bit land at present with it that will be addressed when time and resource permits.
OpenMAX has been a dead since around 2012. Android used it as most SoC vendors claimed support as part of the tick-box "APIs supported" marketing blurb, but whilst it claimed to be a standard there were significant differences in the interpretation by vendors. It's always been a pain to handle with regard the asynchronous callbacks for event completion, and debugging why transitions never completed was always a nightmare. RIP OMX.
And there is certainly no way I intend to attempt making OMX work in a 64bit environment - it's just too involved and messy.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.