mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-15 04:46:32 +00:00
e869185287
Certain V4L2 fourccs don't (yet) have DRM counter parts, in which case we can't create DMA_DRM caps for them. This is usually the case for specific tilings, which are represented as modifiers for DMA formats. While using these tilings is generally preferable - because of e.g. lower memory usage - it can result in additional conversion steps when interacting with DMA based APIs such as GL, Vulkan or KMS. In such cases using a DMA compatible format usually ends up being the better option. Before the addition of DMA_DRM caps, this was what playbin3 ended up requesting in various cases - e.g. prefering NV12 over NV12_4L4 - but the addition of DMA_DRM caps seems to confuse the selection logic. As a simple and quite robust solution, assume that peers supporting DMA_DRM caps always prefer these and reorder the caps accordingly. In the future we plan to have a translation layer for cases where there is a matching fourcc+modifier pair for a V4L2 fourcc, ensuring optimal results. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6824> |
||
---|---|---|
.. | ||
linux | ||
gstv4l2codecallocator.c | ||
gstv4l2codecallocator.h | ||
gstv4l2codecalphadecodebin.c | ||
gstv4l2codecalphadecodebin.h | ||
gstv4l2codecav1dec.c | ||
gstv4l2codecav1dec.h | ||
gstv4l2codecdevice.c | ||
gstv4l2codecdevice.h | ||
gstv4l2codech264dec.c | ||
gstv4l2codech264dec.h | ||
gstv4l2codech265dec.c | ||
gstv4l2codech265dec.h | ||
gstv4l2codecmpeg2dec.c | ||
gstv4l2codecmpeg2dec.h | ||
gstv4l2codecpool.c | ||
gstv4l2codecpool.h | ||
gstv4l2codecvp8dec.c | ||
gstv4l2codecvp8dec.h | ||
gstv4l2codecvp9dec.c | ||
gstv4l2codecvp9dec.h | ||
gstv4l2decoder.c | ||
gstv4l2decoder.h | ||
gstv4l2format.c | ||
gstv4l2format.h | ||
meson.build | ||
plugin.c |