gstreamer/subprojects/gst-plugins-bad/sys
Robert Mader e869185287 v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones
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>
2024-05-09 23:46:16 +01:00
..
aja aja: Replace global semaphore with per-device flock() 2024-02-15 09:30:20 +00:00
amfcodec amfcodec: Add plugin status message 2024-02-22 23:30:29 +00:00
androidmedia androidmedia: add NDK implementation of Android MediaCodec 2024-01-11 19:00:13 +00:00
applemedia vtdec: Fix deadlock when negotiating format change 2024-05-08 09:13:50 +01:00
asio asio: Fix {input,output}-channels property handling 2024-03-14 13:46:28 +00:00
bluez avdtpsink: post error message when failing to start 2024-02-09 10:09:13 +00:00
d3d11 d3d11decoder: Fix potential use after free 2024-04-22 15:14:13 +01:00
d3d12 d3dshader: Fix gamma and primaries conversion pixel shader 2024-05-05 18:20:03 +09:00
d3dvideosink d3dvideosink: Fix navigation event leak 2023-06-15 05:09:46 +00:00
decklink decklink: Fix typo in element documentation 2023-11-09 07:53:12 +00:00
directshow sys: avoid double definition of symbol MEDIASUBTYPE_I420 2023-03-23 00:56:04 +00:00
directsound meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
dvb doc: Fix newline char between authors 2023-05-20 05:48:23 +00:00
dwrite dwrite: Fix crash on device update 2024-04-08 11:38:43 +00:00
fbdev meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
ipcpipeline meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
kms kmssink: Add TIDSS auto-detection 2023-10-12 18:25:50 +00:00
magicleap meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
mediafoundation mediafoundation: Fix infinite loop in device provider 2024-04-21 16:56:39 +01:00
msdk msdk: sink context reference 2024-04-03 16:34:26 +00:00
nvcodec nvcodec: Add plugin status message 2024-02-22 23:30:29 +00:00
opensles meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
qsv qsvh264dec,qsvh265dec: Fix nalu leaks 2024-05-01 13:43:29 +00:00
shm shm: drop use of GSlice allocator 2023-02-03 17:48:10 +00:00
tinyalsa meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
uvcgadget uvcsink: use the pad's current caps to update caps_changed 2023-10-06 15:55:23 +00:00
uvch264 meson: Add a wrap file for libgudev 2023-04-19 22:47:19 +00:00
v4l2codecs v4l2codecs: decoder: Reorder caps to prefer DMA_DRM ones 2024-05-09 23:46:16 +01:00
va vah265enc: Set the correct buffer flag for output 2024-04-29 17:27:41 +00:00
wasapi wasapi: Fix alloc/free function mismatch 2024-02-21 21:03:32 +00:00
wasapi2 wasapi2: Fix task memory leak 2024-02-21 21:03:32 +00:00
wic bad: Update indent 2023-02-28 10:12:31 +00:00
win32ipc win32ipc: Fix pipe handle leak 2023-08-23 18:33:04 +09:00
winks ksdeviceprovider: Fix crash while probing device caps 2024-02-09 14:09:07 +00:00
winscreencap winscreencap: Warn for deprecated plugin use 2022-12-08 17:48:11 +00:00
meson.build aja: Integrate AJA plugin into the build system 2023-10-26 09:36:09 +03:00