Le vendredi 18 mai 2018 à 11:15 +0300, Laurent Pinchart a écrit : > > I need to clarify a little bit on why we disabled libv4l2 in > > GStreamer, > > as it's not only for performance reason, there is couple of major > > issues in the libv4l2 implementation that get's in way. Just a > > short > > list: > > > > > > Do you see any point in that list that couldn't be fixed in libv4l ? Sure, most of it is features being added into the kernel uAPI but not added to the emulation layer. But appart from that, libv4l will only offer legacy use case, we need to think how generic userspace will be able to access these camera, and leverage the per request controls, multi-stream, etc. features. This is mostly what Android Camera HAL2 does (and it does it well), but it won't try and ensure this stays Open Source in any ways. I would not mind if Android Camera HAL2 leads the way, and a facilitator (something that does 90% of the work if you have a proper Open Source driver) would lead the way in getting more OSS drivers submitted. > > - Crash when CREATE_BUFS is being used This is a side effect of CREATE_BUFS being passed-through, implementing emulation for this should be straightforward. > > - Crash in the jpeg decoder (when frames are corrupted) A minimalist framing parser would detect just enough of this, and would fix it. > > - App exporting DMABuf need to be aware of emulation, otherwise the > > DMABuf exported are in the orignal format libv4l2 can return ENOTTY to expbufs calls in > > - RW emulation only initialize the queue on first read (causing > > userspace poll() to fail) This is not fixable, only place it would be fixed is by moving this emulation into VideoBuf2. That would assume someone do care about RW (even though it could be nicer uAPI when dealing with muxed or byte- stream type of data). > > - Signature of v4l2_mmap does not match mmap() (minor) > > - The colorimetry does not seem emulated when conversion This one is probably tricky, special is the converter plugin API is considered stable. Maybe just resetting everything to DEFAULT would work ? > > - Sub-optimal locking (at least deadlocks were fixed) Need more investigation really, and proper measurement.
Attachment:
signature.asc
Description: This is a digitally signed message part