[Bug 790265] v4l2src: Give preference to contiguous memory format over non contiguous one while setting format to /dev/video
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Nov 14 12:36:59 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=790265
--- Comment #4 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
I don't know any good solution. In GStreamer, NV12 is defined the way NV12M is
defined in V4L2.
In general, from what I understood, the reasons one would implement NV12M is to
allow more flexible importation of buffers. Can't you import the buffers from
your encoder into you capture driver ? (See io-mode property).
The second reason I know, and the reason it exists, is that with multiple
allocation you can, on some platform, optimize the memory bandwidth. In such
case, the drivers only support NV12M and the encoder would support that too.
Those two formats are not really different format, they reflect an API
limitation in V4L that was hack away by duplication.
Another way would be to design some method so this can be negotiated. Does not
fit much in GST caps, it would be importing a hack. Maybe in the allocation
query, or inside the pool configuration ? It's all going to be complicated and
difficult to support. Changing the drivers so they implement a common
denominator seems much easier. If you look at DRM side, they also only expose
the equivalent of NV12M for dmabuf importation, and there is no way to know if
there is an internal driver limitations.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list